姓名 部門 工資
Ryan IT部 50000
Gerry IT部 50000
宋威 IT部 50000
李勇志 財務部 50000
榮志新 財務部 50000
郭晟 財務部 50000
李洪江 跟單部 50000
李昌蔚 跟單部 50000
張偉 跟單部 50000
朱丹 跟單部 50000
陸秀蓮 跟單部 50000
怎么用一條語句找出部門里面有"I"字段的記錄?謝謝 我是新手!
Ryan IT部 50000
Gerry IT部 50000
宋威 IT部 50000
李勇志 財務部 50000
榮志新 財務部 50000
郭晟 財務部 50000
李洪江 跟單部 50000
李昌蔚 跟單部 50000
張偉 跟單部 50000
朱丹 跟單部 50000
陸秀蓮 跟單部 50000
怎么用一條語句找出部門里面有"I"字段的記錄?謝謝 我是新手!
select [姓名],[部門],[工資] from tbl where charindex('I',[部門])>0
select [姓名],[部門],[工資] from tb where [部門] like '%I%'
这种效率高,如果有索引可以用到索引。 但是 where 后面用到 函数 即使有索引 SQL也不会用到,只会全表扫描
--Ryan IT部 50000
--Gerry IT部 50000
--宋威 IT部 50000
--李勇志 財務部 50000
--榮志新 財務部 50000
--郭晟 財務部 50000
--李洪江 跟單部 50000
--李昌蔚 跟單部 50000
--張偉 跟單部 50000
--朱丹 跟單部 50000
--陸秀蓮 跟單部 50000declare @t table(姓名 varchar(20), 部門 varchar(20),工資 int)
insert into @t values('Ryan' ,'IT部' , 50000)
insert into @t values('Gerry' ,'IT部' , 50000)
insert into @t values('宋威' ,'IT部' , 50000)
insert into @t values('李勇志' ,'財務部' , 50000)
insert into @t values('榮志新' ,'財務部' , 50000)
insert into @t values('榮志新' ,'財務部' , 50000)
insert into @t values('郭晟' ,'財務部' , 50000)
insert into @t values('李洪江' ,'跟單部' , 50000)
insert into @t values('李昌蔚' ,'跟單部' , 50000)
insert into @t values('張偉' ,'跟單部' , 50000)
insert into @t values('朱丹' ,'跟單部' , 50000)
insert into @t values('陸秀蓮' ,'跟單部' , 50000)
--怎么用一條語句找出部門里面有"I"字段的記錄?謝謝 我是新手!select * from @t where 部門 like '%I%'--OR
select * from @t where charindex('I',部門)>0
/*
(1 行受影响)
姓名 部門 工資
-------------------- -------------------- -----------
Ryan IT部 50000
Gerry IT部 50000
宋威 IT部 50000(3 行受影响)姓名 部門 工資
-------------------- -------------------- -----------
Ryan IT部 50000
Gerry IT部 50000
宋威 IT部 50000(3 行受影响)
*/
里面的%號是什麽意思?
补点基础吧。