like 運算符用于在 sql 中進行模式匹配和模糊搜索,可以通過指定模式搜索匹配的行。模式包括通配符,如 %(匹配任意字符)、_(匹配單個字符)、[](匹配方括號內字符)和 [^](匹配不含方括號內字符)。like 運算符支持前綴、后綴、包含和精確匹配,并在模糊搜索中使用 % 通配符。注意,該運算符不區分大小寫,并且其性能取決于模式的復雜性。
SQL 中的 LIKE 運算符
LIKE 運算符是 SQL 中用于模式匹配和模糊搜索的運算符。它允許你指定一個模式或模板,然后搜索與之匹配的行。
語法
<code>SELECT 列名 FROM 表名 WHERE 列名 LIKE 模式</code>
登錄后復制
模式組成
%:匹配任意數量的任意字符。
_:匹配單個任意字符。
[]:匹配方括號內的任何單個字符。
[^]:匹配不包含方括號內字符的任何單個字符。
用法
LIKE 運算符使用以下方式進行模糊搜索:
前綴搜索:使用 “%” 后綴的模式將匹配以該模式開頭的值。例如,”LIKE ‘j%'” 將匹配 “John”、”James” 等。
后綴搜索:使用 “%” 前綴的模式將匹配以該模式結尾的值。例如,”LIKE ‘%son'” 將匹配 “Johnson”、”Nelson” 等。
包含搜索:使用 “%” 前綴和后綴的模式將匹配包含該模式的值。例如,”LIKE ‘%on'” 將匹配 “John”、”Johnson”、”Nelson” 等。
精確匹配:要進行精確匹配,可以使用沒有通配符的模式。例如,”LIKE ‘John'” 將僅匹配 “John”。
示例
<code>SELECT * FROM customers WHERE name LIKE 'Jo%'</code>
登錄后復制
此查詢將返回所有以 “Jo” 開頭的客戶姓名。
<code>SELECT * FROM products WHERE description LIKE '%computer%'</code>
登錄后復制
此查詢將返回所有描述中包含 “computer” 的產品。
<code>SELECT * FROM orders WHERE order_id LIKE '[a-z]%'</code>
登錄后復制
此查詢將返回所有以小寫字母開頭的訂單 ID。
注意
LIKE 運算符不區分大小寫。
如果模式中沒有通配符,則 LIKE 運算符將進行精確匹配。
LIKE 運算符的性能可能會因模式的復雜性而異。