sql 每日一練 (10/23)
雖然在 ms sql 中每個函數 的詳細說明和相關介紹。但要想掌握好這些函數,只有經過練習和在實際開發中具體揣摩才能掌握。
1 charindex() 函數
charindex(expression1,expression2)
返回第一個字符串在第二個字符串中的位置。如果有多出的話返回第一個位置。如果沒有次字符串返回 0;
用例:
兩個表 t1(name1,id1),t2(name2,id2)
name1 與name2 的區別是 name2=name1+後綴。我們要求返回 name,id1,id2
eg: insert into t1(name1,id1) values('tom',1)
insert into t2(name2,id2) values('tom_ex',2)
要求返回 name,id1,id2
select a.name1,a.id1,b.id2 from t1 as a,t2 as b
where a.name1=b.name2 or
( a.name1=left(b.name2,charindex('-',b.name2)-1) and charindex('- ',b.name2)>0 )
2 where 與 join 連接的功能區別
where 只能返回2個表中 的 inner join 的連接。
join 有 left join 和 right join 他們能返回 連接中 表中不符合條件的紀錄