我正在查看有关针对资产ID记录的故障的信息(这些只是公司内可能破坏的事物的ID)。
资产具有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
我已经研究了一段时间,我可以看到这实际上是十六进制的。我不确定为什么要转换成这个,或者如何修复它。
非常感谢任何/所有帮助,
由于
答案 0 :(得分:0)
看起来连接导致此错误,如果我删除CONCAT('Invalid Asset ID - ', faults.asset_id)
并替换为'Invalid Asset ID'
,那么它可以正常工作。我不得不忍受它就像那样...