MySQL的字串匹配標準 mysql的字串匹配

2021-10-19 18:34:09 字數 590 閱讀 4575

需求表資料如下:

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中保證不出現...