2016-09-09 12 views
0

私は、資産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'に置き換えた場合、ルックス、

おかげ

答えて

0

を高く評価しています。私はちょうどそれのように生きなければならないでしょう...

関連する問題