結束我有一個包含字符串作爲列:查詢選擇字符串與某些字符
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'' –