MySQL从搜索问题开始

时间:2012-03-07 17:05:40

标签: mysql sql sql-like

我在使用带有MySQL查询的%通配符时遇到问题。

http://www.w3schools.com/sql/sql_like.asp

阅读完那篇文章后,我正在使用%,并没有达到我的期望。

我有一系列值,例如

1_1
1_2
2_1
2_2... etc

包括

11_1
11_2

现在,在某些情况下,我想特别返回值为11_21_2等的广告。这样可以正常使用

WHERE fieldName = '11_2'

等...正如预期的那样

但是,在某些情况下,我想查找以1开头的所有项目或以11开头的所有项目

从w3Schools链接,我期待

WHERE fieldName LIKE '1_%'

要查找以1_为主题的任何内容,因此,在我的示例中,返回:

1_1
1_2

但是,它也会返回

11_1
11_2

这是为什么?我怎么能过来呢?

1 个答案:

答案 0 :(得分:67)

Underscore是单个字符的通配符。您需要将SQL更改为:

WHERE fieldName LIKE '1%'

或者你可以逃避下划线

WHERE fieldName LIKE '1\_%'