结束我有一个包含字符串作为列:查询选择字符串与某些字符
aaa_1
aaa_11
我需要查询与_1
结束的字符串。我尝试了以下: 从列表中选择列,其中列如%_1
; 但查询给了我以_1
和_11
结尾的字符串。我该如何解决这个问题?
结束我有一个包含字符串作为列:查询选择字符串与某些字符
aaa_1
aaa_11
我需要查询与_1
结束的字符串。我尝试了以下: 从列表中选择列,其中列如%_1
; 但查询给了我以_1
和_11
结尾的字符串。我该如何解决这个问题?
试试这个:
select col from table where col like '%\_1'
字符_
是一个快活的,就像%,但它只有一个字符相匹配,所以你要逃跑呢与\
在这里看到:http://dev.mysql.com/doc/refman/5.0/en/string-comparison-functions.html#operator_like
你会想要使用更多的子串相关的东西。
尝试where子句,如:
则应该通过添加反斜线\
逃脱%
和_
,因为它们是在MySQL通配符:
http://dev.mysql.com/doc/refman/5.0/en/string-comparison-functions.html
String | Description
\% | Matches one “%” character
\_ | Matches one “_” character
其中的许多收拾东西像%_12
或%_111121
等。确保你测试了各种以确保这些SELECT
陈述给你正确的子集。
SELECT col FROM table WHERE col REGEXP '_1[[:>:]]'
'%_1'不会给你'%_11',虽然'%_1%'会。 –
像%_1应该只返回第一个,就像%_1%应该返回两个一样。你使用的是哪个数据库? – dmaij
你也可以做'WHERE RIGHT(the_column,2)='_1'' –