_:匹配任意單字符%:匹配任意數量字符(含零個)= 或 !=,必須用 LIKE / NOT LIKE| 需求 | 語句 | 結果示例 |
|---|---|---|
| 以 "b" 開頭 | SELECT * FROM pet WHERE name LIKE "b%"; | Buffy, Bowser |
| 以 "fy" 結尾 | SELECT * FROM pet WHERE name LIKE "%fy"; | Fluffy, Buffy |
| 包含 "w" | SELECT * FROM pet WHERE name LIKE "%w%"; | Claws, Bowser, Whistler |
| 剛好 5 字符 | SELECT * FROM pet WHERE name LIKE "_____"; | Claws, Buffy |
基於 Unix vi/grep/sed 標準,功能更強但區分大小寫,僅 MySQL 支援。
.:任意單字符[...]:字符類,如 [abc]、[a-z]、[0-9]*:零或多個前面元素^ / $:錨定開頭/結尾{n}:重複 n 次| 需求 | REGEXP 寫法 |
|---|---|
| 以 "b" 開頭 | SELECT * FROM pet WHERE name REGEXP "^[bB]"; |
| 以 "fy" 結尾 | SELECT * FROM pet WHERE name REGEXP "fy$"; |
| 包含 "w" | SELECT * FROM pet WHERE name REGEXP "[wW]"; |
| 剛好 5 字符 | SELECT * FROM pet WHERE name REGEXP "^.....$"; 或 "^.{5}$" |
LIKE 為 SQL 標準,跨資料庫可移植;REGEXP 功能更強(分組、量詞、錨定)但僅限 MySQL。按需選擇。