MySQL CONCAT("string",longtext)产生十六进制字符串

Nat*_*han 12 mysql string hex concat

尝试连接一个字符串应该是LONGTEXT类型的字符串时,我遇到了一个奇怪的十六进制字符串结果.

查询如下:

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

61626354657374696e67636465
Run Code Online (Sandbox Code Playgroud)

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

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

SELECT t.LONGTEXT_VALUE FROM mytable t

Testing
Run Code Online (Sandbox Code Playgroud)

jer*_*ity 18

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

SELECT CONCAT("abc",CAST(t.LONGTEXT_VALUE AS CHAR),"cde") FROM mytable t
Run Code Online (Sandbox Code Playgroud)

  • 我现在在concat的MySQL文档中看到这个:http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_concat (2认同)