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