需求表資料如下:
mysql> select * from test;
| id | name |
| 1 | abc** |
1 row in set (0.00 sec)
我想匹配 abcde,也就是乙個*代表乙個字元
分析:在正則中*代表0個或者多個,因此此處的儲存有問題,應該儲存.或者_那麼查詢sql可以通過like和regexp 來實現結論:1.採用like
mysql> select * from test where 'abcde' like replace(name,'*','_');
| id | name |
| 1 | abc** |
1 row in set (0.01 sec)
先替換成_然後在like 匹配
2.採用regexp
mysql> select * from test where 'abcde' regexp replace(name,'*','.');
| id | name |
| 1 | abc** |
1 row in set (0.02 sec)
替換成.然後在匹配
mysql 匹配字元 MySQL中的字串模式匹配
mysql提供標準的sql模式匹配,以及一種基於象unix實用程式如vi grep和sed的擴充套件正規表示式模式匹配的格式。標準的sql模式匹配 sql的模式匹配允許你使用 匹配任何單個字元,而 匹配任意數目字元 包括零個字元 在 mysql中,sql的模式預設是忽略大小寫的。下面顯示一些例子。注...
字串匹配
題目描述 讀入資料string 然後讀入乙個短字串。要求查詢string 中和短字串的所有匹配,輸出行號 匹配字串。匹配時不區分大小寫,並且可以有乙個用中括號表示的模式匹配。如 aa 123 bb 就是說aa1bb aa2bb aa3bb都算匹配。輸入 輸入有多組資料。每組資料第一行輸入n 1 n ...
字串匹配
time limit 1000ms memory limit 65536k 給定兩個字串string1和string2,判斷string2是否為string1的子串。輸入包含多組資料,每組測試資料報含兩行,第一行代表string1,第二行代表string2,string1和string2中保證不出現...