如何将MySQL中binary(8)类型的idvisitor转为字符串以实现拼接?
解决MySQL binary(8)字段与字符串拼接的问题
直接用concat时,MySQL会把字符串转换成二进制字节,和原binary字段做字节级拼接,这就是你得到0x68652B61CB9B4FD13B的原因。要实现字符串层面的拼接,得先把binary类型的idvisitor转换成十六进制字符串,再和前缀拼接。
用HEX()函数就能完成这个转换,它会把binary字段的内容转为对应的十六进制字符串,之后再用CONCAT拼接即可:
SELECT CONCAT('h', HEX(v.idvisitor)) AS result FROM your_table v;
比如你提到的idvisitor值为0x652B61CB9B4FD13B,执行上面的语句就会返回h652b61cb9b4fd13b,完全符合需求。
内容的提问来源于stack exchange,提问作者hansaplast
相关产品推荐
相关产品推荐

