查看显示十六进制而不是文本

时间:2016-09-09 08:58:42

标签: mysql select hex views

我正在查看有关针对资产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

我已经研究了一段时间,我可以看到这实际上是十六进制的。我不确定为什么要转换成这个,或者如何修复它。

非常感谢任何/所有帮助,

由于

1 个答案:

答案 0 :(得分:0)

看起来连接导致此错误,如果我删除CONCAT('Invalid Asset ID - ', faults.asset_id)并替换为'Invalid Asset ID',那么它可以正常工作。我不得不忍受它就像那样...