12

尝试将字符串与应为 LONGTEXT 类型的列连接时,我遇到了奇怪的十六进制字符串结果。

查询是这样的:

SELECT concat("abc",t.LONGTEXT_VALUE,"cde") FROM mytable t

61626354657374696e67636465

十六进制字符串61626354657374696e67636465是正确的值,只是十六进制形式。

列本身的 SELECT 将返回正常字符串:

SELECT t.LONGTEXT_VALUE FROM mytable t

Testing
4

2 回答 2

20

你试过铸造吗?通常对我来说效果很好。例子:

SELECT CONCAT("abc",CAST(t.LONGTEXT_VALUE AS CHAR),"cde") FROM mytable t
于 2013-09-17T04:37:04.213 回答
3

当您在没有强制转换的情况下连接数字时,它会以 blob 形式返回。据我所知,这是 MySQL 的预期功能,它在这个 bug 线程中被报告,他们关闭了它并确认它正在返回一个 Blob。

于 2014-10-06T19:46:50.540 回答