尝试使用LONGTEXT类型的列连接字符串时,我遇到了一个奇怪的十六进制字符串结果。
查询如下:
SELECT concat("abc",t.LONGTEXT_VALUE,"cde") FROM mytable t
61626354657374696e67636465
十六进制字符串61626354657374696e67636465
是正确的值,只是十六进制格式。
列本身的SELECT将返回普通字符串:
SELECT t.LONGTEXT_VALUE FROM mytable t
Testing
答案 0 :(得分:18)
你尝试过铸造吗?通常对我来说效果很好。例如:
SELECT CONCAT("abc",CAST(t.LONGTEXT_VALUE AS CHAR),"cde") FROM mytable t
答案 1 :(得分:2)
当您在没有强制转换的情况下连接数字时,它将返回为blob。据我所知,这是MySQL的预期功能,因为它在this bug thread中报告,他们关闭它并确认它返回了Blob。