这个网站过去帮了我很多,但现在我迷路了.在此先感谢您的指导.
我有一个包含二进制值的MySQL表,如下例所示.我不能改变桌子.
CREATE TABLE `test` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`nid` binary(16) NOT NULL,
`test` varchar(45) DEFAULT NULL,
PRIMARY KEY (`id`))
这是nid的示例值:ÞFÈ>ZPÎ×jRZ {æ×(并非所有显示,但所有16都在那里)
现在我想创建一个SQL查询来查找该值为true的行的id.
SELECT id FROM test WHERE nid = 'ÞFÈ>ZPÎ×jRZ{æ×';
……不起作用.任何想法?
解
以HEX格式获取nid就可以了.它导致DE46C83E5A50CED70E6A525A7BE6D709,当我在这样的查询中使用它时……
SELECT id FROM test WHERE HEX(nid) = 'DE46C83E5A50CED70E6A525A7BE6D709';
我得到了正确的结果.