私は、資産ID(これは、会社内で壊れる可能性のあるID)に対して記録されたフォルトに関する情報を表示するビューを作成しています。テキストの代わりに16進数を表示するビュー
アセットにはID(INT 4)と説明(VARCHAR 150)が割り当てられています。
私は、asset_id(INT 4)を格納するフォルトを記録するときに使用される別のテーブルを持っています。
私はまた、説明を表示する方法を決定するケース文をやって
select * from faults left join assets on faults.asset_id = assets.id
をすることによって一緒にこれらのテーブルを結合します。
CASE
WHEN faults.asset_id = assets.id
THEN
assets.description
WHEN faults.asset_id IS NOT NULL AND assets.id IS NULL
THEN
CONCAT('Invalid Asset ID - ', faults.asset_id)
ELSE
'No Asset ID assigned'
END
AS asset_desc
このクエリを実行すると、結果は良好です。
しかし、select
ステートメントをview
にすると、asset_desc
カラムに返される奇妙な値が得られます。
例:
496e76616c6964204173736574204944202d20313233
496e76616c6964204173736574204944202d20313234
私はしばらくの間、このに見てきたと私は、これは実際に進数で見ることができます。なぜこれに変換しているのか、それをどう修正するのかは分かりません。
どれ/すべてのヘルプは多くの連結は、このエラーの原因となったように私はCONCAT('Invalid Asset ID - ', faults.asset_id)
を削除し、それが動作'Invalid Asset ID'
に置き換えた場合、ルックス、
おかげ