sql server 的模糊查詢的用法

2022-03-11 12:35:40 字數 2575 閱讀 4917

查詢所有姓張的同學

select * from student where left(sname,1)=『張『   看上去很美,如果改成查詢名字中帶亮的學生怎麼做?

換一種做法 like

select  * from student where sname like 『張%』    會吧所有姓張的都查詢到,現在我想查詢姓張並且名字是乙個字的學生?

select  * from student where sname like 『%亮%』

^只有mssql server支援,其他dbms用not like。

萬用字元 %多字元匹配的萬用字元,它匹配任意次數(零或多個)出現的任意字元

萬用字元_ 單字元匹配,它匹配單個出現的字元

只匹配乙個字元  並且這個字元必須是範圍內的    [0-9]  [a-z]

not與like一起使用:not like ….

要通配_、%、[、^這些字元怎麼辦?[_]、[%]、[ [ ]、^(不需要放到中括號裡,因為^只有放到中括號中才認為是萬用字元)

注意:like 'a%'與like'%a'的區別。  前者查詢首字元為a的,後者查詢末位為a的。

--萬用字元:_    、  %   、    、 ^

--  _  表示任意的單個字元

--姓張,兩個字的。

select * from mystudent where fname like '張_'

--姓張,三個字的

select * from mystudent where fname like '張__'

-- % 匹配任意多個任意字元

--無論姓名字數,只要第乙個字元是'張'的就查詢出來

select * from mystudent where fname like '張%'

select * from mystudent where fname like '張%' and len(fname)=2

--    表示篩選,範圍。

--查詢出姓名中包含某些值的那些人

select * from tblstudent where tsname like '張[0-9]妹'

select * from tblstudent where tsname like '張_妹'

select * from tblstudent where tsname like '張[a-z]妹'

select * from tblstudent where tsname like '張[a-z0-9]妹'

select * from tblstudent where tsname like '張[^0-9]妹'

select * from tblstudent where tsname not like '張[0-9]妹'

update tblstudent set tsname=replace(tsname,'(女)','')

--萬用字元放到中就轉義了就不認為是萬用字元了。

--查詢出姓名中包含%的那些人

select * from tblstudent where tsname like '%[%]%'

--自己指定乙個轉義符

--where columna like '%5/%%' escape '/'

select * from tblstudent where tsname like '%/]%' escape '/'

select * from tblstudent where tsname like '%/[%'  escape '/'

select * from tblstudent where tsname like '%/[%/]%'  escape '/'

SQL server模糊查詢

一,搜尋條件中的模式匹配 like 關鍵字搜尋與指定模式匹配的字串 日期或時間值。like 關鍵字使用常規表示式包含值所要匹配的模式。模式包含要搜尋的字串,字串中可包含四種萬用字元的任意組合。萬用字元 含義 包含零個或更多字元的任意字串。任何單個字元。指定範圍 例如 a f 或集合 例如 abcde...

SQL SERVER 的模糊查詢 LIKE

今天寫個動態指令碼,需要把資料庫裡面包含 user 的表刪除掉,突然想不起來如何搜尋通配字元了,趕緊查查 msdn 整理了下模糊查詢的知識點,留著以後查閱用。like模糊查詢的萬用字元 萬用字元 說明 示例 包含零個或多個字元的任意字串。where title like computer 將查詢在書...

SQL SERVER 的模糊查詢 LIKE

今天寫個動態指令碼,需要把資料庫裡面包含 user 的表刪除掉,突然想不起來如何搜尋通配字元了,趕緊查查msdn,整理了下模糊查詢的知識點,留著以後查閱用。like模糊查詢的萬用字元 萬用字元說明示例 包含零個或多個字元的任意字串。where title like computer 將查詢在書名中任...