我无法在文本字段内搜索带有连字符的数据

时间:2012-03-19 16:11:39

标签: mysql

此查询不返回任何内容:

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]"

返回数百条记录。无论我使用单引号还是双引号。

为什么呢?我花了几个小时做不同的测试,但我无法得到合理的解释。

2 个答案:

答案 0 :(得分:0)

您可能在第一个示例中使用了错误的连字符。

例如,(Windows-1252中为150)和(151)之间存在差异。

也可能是您的输入数据是UTF-8编码的,在这种情况下连字符也不匹配。

答案 1 :(得分:0)

你可以这样做:

SELECT * FROM rates WHERE inks LIKE "%-%";

它没有回答为什么而是如何^^