SQL語句模糊查詢
在字符串比較中使用通配符 內含的模式匹配為字符串比較提供了一個多用途工具。
下表顯示了你可以通過 Like 運算符 使用的通配符和它們匹配的數字或字符串的數目。在樣式中的字符 在表達式中的匹配 ? _(下劃線) 任何單一字符 * or % 零個或多個字符 # 任何單一數字(0 — 9) [charlist] 任何在字符表中的單一字符 [!charlist] 任何不在字符表中的單一字符 可用括在括號 ([ ]) 中的一組字符(字符表)來匹配表達式中任何的單一字符,而且字符表中幾乎可以包含 ANSI 字符集中的任何字符,包括數字。
事實上,特殊字符,如左括號 ([ )、問號(?)、井字號(#)和星號(*), 當它們括在括號內時,可以直接和它們自己匹配。一組字符內的右括號 ( ]) 不能匹配它自己,但是如果它是一組之外的單一字符,就能用來匹配。
除了括在括號內的字符的簡單表列,字符表可以指定一字符范圍,用連字符號 (-) 來隔開范圍的上下界。 例如,在樣式 中使用 [A-Z] ,可在包含從 A 到 Z 的任何大寫字母的表達式內,找出相應的字符位置。
可以在括號之中包含多個范圍且不需要在范圍間劃上界線。例如,[a-zA-Z0-9] 指任何符合文數值的字符。
舉兩個例子,假如要找所有姓李的人,可以用:select * from student where 姓名 like '李%' 假如要找姓名中第二個字為中的人,可以用:SELECT * FROM Student WHERE (姓名 '_中%')。
SQL模糊查詢語句怎么寫啊
1、假設表名為product,商品名為name,簡界為remark.則可如下寫:select [name],[remark] from product name like '%aa%' or remark like '%aa%'.注:上面單引號的aa你表模糊查詢輸入的字符。
2、select * from (表名) where (搜索名稱)like '%%' and id like '%(簡介)%' 3、用 Like 子句。比如:Select * from [TableName] where [名稱] Like '%SQL%' and [簡介] like '%Software%'這就是查詢 [名稱]字段中包含 “SQL”、并且[簡介]字段中包含 “Software” 的記錄。
4、selet * from userwhere name like '%小%'order by id ascasc代表升序 desc代表降序。 擴展資料: 模糊搜索的定義主要有兩種觀點。
一是系統允許被搜索信息和搜索提問之間存在一定的差異,這種差異就是“模糊”在搜索中的含義。例如,查找名字Smith時,就會找出與之相似的Smithe, Smythe, Smyth, Smitt等。
二是實質上的搜索系統自動進行的同義詞搜索。同義詞由系統的管理界面配置。
例如,配置“計算機”與“computer”為同義詞后,搜索“計算機”,則包含“computer”的網頁也會出現在搜索結果中。 將本地圖片輸入到圖片搜索框, 1、假如你的圖片帶有意義的標題,比如“衣服”,那么搜索結果會顯示相關文本搜索結果 2、假如你的圖片標題沒有任何含義,搜索結果只顯示相關圖片。
3、搜索精準度隨不同圖片可達到的滿意程度不同,往往越是主流商業圖片越精準 目前像百度、谷歌等搜索引擎及淘寶等平臺均可實現此應用。 文本模糊搜索 搜索引擎或門戶網站搜索:將文本輸入搜索框,選擇模糊搜索模式,即可得到匹配結果。
數據庫搜索:一般模糊查詢語句如下:SELECT 字段 FROM 表 WHERE 某字段 Like 條件。 其中關于條件,SQL提供了四種匹配模式: 1、% :表示任意0個或多個字符。
可匹配任意類型和長度的字符,有些情況下若是中文,請使用兩個百分號(%%)表示。 2、_ : 表示任意單個字符。
匹配單個任意字符,它常用來限制表達式的字符長度語句: 3、[ ] :表示括號內所列字符中的一個(類似正則表達式)。指定一個字符、字符串或范圍,要求所匹配對象為它們中的任一個。
4、[^ ] :表示不在括號所列之內的單個字符。其取值和 [] 相同,但它要求所匹配對象為指定字符以外的任一個字符。
5,查詢內容包含通配符時 由于通配符的緣故,導致我們查詢特殊字符“%”、“_”、“[”的語句無法正常實現,而把特殊字符用“[ ]”括起便可正常查詢。 在不同的數據庫中,模糊搜索的語句會有不同,可在系統幫助文檔中了解。
參考資料來源:百度百科:模糊搜索。
SQL模糊查找語句
SQL模糊查詢,使用like比較字,加上SQL里的通配符,請參考以下:
1、LIKE'Mc%' 將搜索以字母 Mc 開頭的所有字符串(如 McBadden)。
2、LIKE'%inger' 將搜索以字母 inger 結尾的所有字符串(如 Ringer、Stringer)。
3、LIKE'%en%' 將搜索在任何位置包含字母 en 的所有字符串(如 Bennet、Green、McBadden)。
4、LIKE'_heryl' 將搜索以字母 heryl 結尾的所有六個字母的名稱(如 Cheryl、Sheryl)。
5、LIKE'[CK]ars[eo]n' 將搜索下列字符串:Carsen、Karsen、Carson 和 Karson(如 Carson)。
6、LIKE'[M-Z]inger' 將搜索以字符串 inger 結尾、以從 M 到 Z 的任何單個字母開頭的所有名稱(如 Ringer)。
7、LIKE'M[^c]%' 將搜索以字母 M 開頭,并且第二個字母不是 c 的所有名稱(如MacFeather)。
-------------------------------------------------
呵呵,要完整的例句啊。下面這句查詢字符串是我以前寫的,根據變量 zipcode_key 在郵政編碼表 zipcode 中查詢對應的數據,這句是判斷變量 zipcode_key 為非數字時的查詢語句,用 % 來匹配任意長度的字符串,從表中地址、市、省三列中查詢包含關鍵字的所有數據項,并按省、市、地址排序。這個例子比較簡單,只要你理解了方法就可以寫出更復雜的查詢語句。
sql = "select * from zipcode where (address like'%" & zipcode_key & "%') or (city like'%" & zipcode_key & "%') or (province like'%" & zipcode_key & "%') order by province,city,address"
如何模糊查找姓李的SQL語句
確定給定的字符串是否與指定的模式匹配。模式可以包含常規字符和通配符字符。模式匹配過程中,常規字符必須與字符串中指定的字符完全匹配。然而,可使用字符串的任意片段匹配通配符。與使用 = 和 != 字符串比較運算符相比,使用通配符可使 LIKE 運算符更加靈活。如果任何參數都不屬于字符串數據類型,Microsoft? SQL Server? 會將其轉換成字符串數據類型(如果可能)。
語法
match_expression [ NOT ] LIKE pattern [ ESCAPE escape_character ]
參數
match_expression
任何字符串數據類型的有效 SQL Server 表達式。
escape_character
字符串數據類型分類中的所有數據類型的任何有效 SQL Server 表達式。escape_character 沒有默認值,且必須僅包含一個字符。
pattern
match_expression 中的搜索模式,可以包含下列有效 SQL Server 通配符。
通配符:%
描述:包含零個或更多字符的任意字符串。
示例:WHERE title LIKE '%computer%' 將查找處于書名任意位置的包含單詞 computer 的所有書名。
通配符:_(下劃線)
描述:任何單個字符。
示例:WHERE au_fname LIKE '_ean' 將查找以 ean 結尾的所有 4 個字母的名字(Dean、Sean 等)。
通配符:[ ]
描述:指定范圍 ([a-f]) 或集合 ([abcdef]) 中的任何單個字符。
示例:WHERE au_lname LIKE '[C-P]arsen' 將查找以arsen 結尾且以介于 C 與 P 之間的任何單個字符開始的作者姓氏,例如,Carsen、Larsen、Karsen 等。
通配符:[^]
描述:不屬于指定范圍 ([a-f]) 或集合 ([abcdef]) 的任何單個字符。
示例:WHERE au_lname LIKE 'de[^l]%' 將查找以 de 開始且其后的字母不為 l 的所有作者的姓氏。
看一下幫助吧。