在 sql 中,通配符用于查找匹配特定模式的數據,它們包括:百分號 (%):匹配零個或多個字符。下劃線 (_):匹配任何單個字符。方括號 ([ ]):包含字符類,匹配屬于該類的單個字符。脫字符 (^):否定字符類,匹配不屬于該類的單個字符。
SQL 通配符設置
在 SQL 中,通配符用于查找匹配特定模式的數據。它們是特殊的字符,可以代替字符串中的一個或多個字符。以下是如何設置 SQL 通配符:
百分號 (%):
百分號匹配字符串中的零個或多個字符。例如:
SELECT * FROM table_name WHERE column_name LIKE '%abc%';
登錄后復制
這將返回所有包含 “abc” 字符串的記錄,無論其位置如何。
下劃線 (_):
下劃線匹配字符串中的任何單個字符。例如:
SELECT * FROM table_name WHERE column_name LIKE '_abc';
登錄后復制
這將返回所有以 “abc” 開頭的記錄。
方括號 ([ ]):
方括號包含一個字符類,匹配屬于該類的任何單個字符。例如:
SELECT * FROM table_name WHERE column_name LIKE '[ab]';
登錄后復制
這將返回包含 “a” 或 “b” 字符的任何記錄。
脫字符 (^):
脫字符用于否定字符類。它匹配不屬于該類的任何單個字符。例如:
SELECT * FROM table_name WHERE column_name NOT LIKE '[^ab]';
登錄后復制
這將返回不包含 “a” 或 “b” 字符的任何記錄。
示例:
以下查詢查找包含 “John”、”Jane” 或 “Jack” 中任何一個字符串的記錄:
SELECT * FROM table_name WHERE column_name LIKE '%(John|Jane|Jack)%';
登錄后復制
以下查詢查找以 “J” 開頭且包含 “o” 字符的任何記錄:
SELECT * FROM table_name WHERE column_name LIKE '[J]%o%';
登錄后復制
注意:
通配符的使用可能會降低查詢性能。在可能的情況下,建議使用索引列來優化查詢。另外,請務必注意通配符的匹配規則,并謹慎使用它們,以避免意外結果。