0
我有一個包含值作爲字符串的列。我只需要保留那些包含以下子字符串之一:|MB1
,|MB2
,|MB3
,|MB4
,|MB5
和|MB6
。如何篩選以任何數字結尾的特定字符集?
我的出發點是:
select * from table
where column like '%|MB_%';
然而,這能讓任何其他行與值,如|MBa
或他人。我如何擺脫它們?
P.S.我正在使用MySQL
我有一個包含值作爲字符串的列。我只需要保留那些包含以下子字符串之一:|MB1
,|MB2
,|MB3
,|MB4
,|MB5
和|MB6
。如何篩選以任何數字結尾的特定字符集?
我的出發點是:
select * from table
where column like '%|MB_%';
然而,這能讓任何其他行與值,如|MBa
或他人。我如何擺脫它們?
P.S.我正在使用MySQL
您可以使用MySQL的regular expression pattern matching;
WHERE `column` REGEXP '\\|MB[1-6]'
圖案'\\|[1-6]'
可分析如下:
\\
是編碼字符串反斜槓,這是正則表達式轉義字符的,以便
|
沒有特別的含義(如果沒有被反斜線轉義,則表示交替,這將導致在這種情況下的無效模式)
MB
是文字符號
[1-6]
代表的範圍1
內的單個字符通過對6
對你的正則表達式有很好的解釋! +1 –
無論你做什麼或爲每一個,或使用正則表達式,或結合LIKE與專項檢查工作字符編號4是數字之一。 – jarlh
你正在使用哪個dbms? (其中一些有LIKE擴展名,類似於正則表達式...) – jarlh