1. 程式人生 > >SQL Server中的模糊查詢(搜尋時經常使用)

SQL Server中的模糊查詢(搜尋時經常使用)

零、碼仙勵志

只有不想做的,沒有做不到的

一、建庫和建表

create database scort
use scort
create table emp
(
	empno int primary key,
	ename nvarchar(10),
	age int
)
insert into emp values (7369,'AMITH',30);
insert into emp values (7499,'BADFG',28);
insert into emp values (7521,'FSDDA',26);
insert into emp values (7566,'NDJSL',35);
insert into emp values (7654,'GFJKK',40);
insert into emp values (7698,'LI%KS',22);
insert into emp values (7798,'SD_NS',25);

二、模糊查詢的使用方法

select * from emp where ename like '%A%'
--輸出ename中含有A的記錄

select * from emp where ename like 'A%'
--輸出ename中首字母是A的記錄

select * from emp where ename like '%A'
--輸出ename中尾字母是A的記錄

select * from emp where ename like '_A%'
--輸出ename中第二個字母是A的記錄

select * from emp where ename like '__D%'
--輸出ename中第三個字母是D的記錄
--'__D%'  D前面有兩個_,因為連在一起,所以看起來只有一個
--如果兩個_中間加空格,表達的就是另外一個意思

select * from emp where ename like '_[A-F]%'
--把ename中第二個字母是A或B或C或D或E或F的記錄輸出

select * from emp where ename like '_[^A-F]%'
--把ename中第二個字母不是A或B或C或D或E或F的記錄輸出

select * from emp where ename like '_[A,F]%'
--把ename中第二個字母是A或F的記錄輸出

select * from emp where ename like '_[^A,F]%'
--把ename中第二個字母不是A或F的記錄輸出

select * from emp where ename like '%\%%' escape '\'
--輸出ename中含有%的記錄

select * from emp where ename like '%\_%' escape '\'
--輸出ename中含有_的記錄