LIKE 用於 WHERE 子句中,依據模式進行字串模糊匹配。配合通配符 %(多字元)、_(單字元)可實現前綴、後綴、包含、固定格式等多種查詢需求。
SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern;
pattern 為包含通配符的字串模式。NOT LIKE 為反向匹配。+----+--------------+---------------------------+-------+---------+ | id | name | url | alexa | country | +----+--------------+---------------------------+-------+---------+ | 1 | Google | https://www.google.cm/ | 1 | USA | | 2 | 淘寶 | https://www.taobao.com/ | 13 | CN | | 3 | 菜鳥教程 | https://www.runoob.com/ | 4689 | CN | | 4 | 微博 | https://weibo.com/ | 20 | CN | | 5 | Facebook | https://www.facebook.com/ | 3 | USA | | 7 | stackoverflow| https://stackoverflow.com/ | 0 | IND | +----+--------------+---------------------------+-------+---------+
SELECT * FROM Websites WHERE name LIKE 'G%';
輸出結果:

SELECT * FROM Websites WHERE name LIKE '%k';
輸出結果:

SELECT * FROM Websites WHERE name LIKE '%oo%';
輸出結果:

SELECT * FROM Websites WHERE name NOT LIKE '%oo%';
輸出結果:

| 模式 | 含義 | 範例匹配值 |
|---|---|---|
_abc | 任一字元 + abc | Xabc、1abc |
a_c | a + 任一字元 + c | abc、axc、a1c |
%abc% | 包含 abc | abc、XabcY、abcXYZ |
abc% | 以 abc 開頭 | abc、abcdef |
%abc | 以 abc 結尾 | abc、XYZabc |
a%b%c | a...b...c 順序出現 | axbxc、abbbc |
FULLTEXT 索引 + MATCH() AGAINST()。pg_trgm 擴展 + GIN 索引。LIKE 'abc%'。% 或 _ 需當作字面字元,使用轉義字元:LIKE '100\%' ESCAPE '\'(語法視資料庫而定)。LIKE 僅適用字串類型(CHAR、VARCHAR、TEXT 等),數值/日期需先轉型。