程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL Server中通配符的使用示例

SQL Server中通配符的使用示例

編輯:關於SqlServer

在某些情況下熟悉SQL Server 通配符的使用可以幫助我們簡單的解決很多問題。

--使用_運算符查找Person表中以an結尾的三字母名字
USEAdventureWorks2012;
GO
SELECT FirstName, LastName
FROM Person.Person
WHERE FirstName LIKE'_an'
ORDER BY FirstName;
 
---使用[^]運算符在Contact表中查找所有名字以Al開頭且第三個字母不是字母a的人
USEAdventureWorks2012;
GO
SELECT FirstName, LastName
FROM Person.Person
WHERE FirstName LIKE'Al[^a]%'
ORDER BY FirstName;
 
---使用[]運算符查找其地址中有四位郵政編碼的所有Adventure Works雇員的ID和姓名
USEAdventureWorks2012;
GO
SELECT e.BusinessEntityID, p.FirstName, p.LastName, a.PostalCode
FROMHumanResources.EmployeeAS e
INNER JOIN Person.PersonAS pON e.BusinessEntityID= p.BusinessEntityID
INNER JOIN Person.BusinessEntityAddressAS eaON e.BusinessEntityID=ea.BusinessEntityID
INNER JOIN Person.AddressAS aON a.AddressID= ea.AddressID
WHERE a.PostalCodeLIKE'[0-9][0-9][0-9][0-9]';

 
結果集:

 EmployeeID   FirstName   LastName   PostalCode
----------   ---------   ---------   ----------
290       Lynn      Tsoflias   3000
--將一張表中名字為中英文的區分出來(借鑒論壇中的代碼)
create table tb(namenvarchar(20))
 
insert into tbvalues('kevin')
insert into tbvalues('kevin劉')
insert into tbvalues('劉')
 
select *,'Eng'from tbwherepatindex('%[a-z]%',name)>0and(patindex('%[吖-坐]%',name)=0)
union all
select *,'CN'from tbwherepatindex('%[吖-坐]%',name)>0andpatindex('%[a-z]%',name)=0
union all 
select *,'Eng&CN'from tbwhere(patindex('%[吖-坐]%',name)>0)andpatindex('%[a-z]%',name)>0

結果集:

name        
-------------------- ------
kevin        Eng
劉          CN
kevin劉       Eng&CN
 
(3 row(s) affected) 

       

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved