此查询不返回任何内容:
SELECT * FROM rates WHERE inks = "4 / 0 - [CMYK]"
但是这个:
SELECT * FROM rates WHERE inks = "4 / 0 " + CHAR(150) + " [CMYK]"
或者这个:
SELECT * FROM rates WHERE inks LIKE "4 / 0 % [CMYK]"
返回数百条记录。无论我使用单引号还是双引号。
为什么呢?我花了几个小时做不同的测试,但我无法得到合理的解释。
答案 0 :(得分:0)
您可能在第一个示例中使用了错误的连字符。
例如,—
(Windows-1252中为150)和–
(151)之间存在差异。
也可能是您的输入数据是UTF-8编码的,在这种情况下连字符也不匹配。
答案 1 :(得分:0)
你可以这样做:
SELECT * FROM rates WHERE inks LIKE "%-%";
它没有回答为什么而是如何^^