一、SQL Server中截取字符串常用的函數(shù)
1搂誉、LEFT ( character_expression , integer_expression )
函數(shù)說明:LEFT ( '源字符串' , '要截取最左邊的字符數(shù)' )
返回從字符串左邊開始指定個數(shù)的字符
select LEFT('SQL_Server_2008',4 );
返回結(jié)果:SQL_
2.RIGHT ( character_expression , integer_expression )
函數(shù)說明:RIGHT ( '源字符串' , '要截取最右邊的字符數(shù)' )
返回字符串中從右邊開始指定個數(shù)的 integer_expression 字符
select RIGHT('SQL_Server_2008',4 );
返回結(jié)果:2008
3.SUBSTRING ( character_expression , start , length )
函數(shù)說明:SUBSTRING ( '源字符串' , '截取起始位置(下標(biāo)從1開始听皿,含該位置上的字符)' , '截取長度' )
返回字符熟呛、binary、text 或 image 表達式的一部分
select SUBSTRING('SQL_Server_2008',5 ,6);
返回結(jié)果:Server
二尉姨、SQL Server字符串類型轉(zhuǎn)換
CONVERT(要轉(zhuǎn)換的類型庵朝,指定字段)
三、SQL Server查詢結(jié)果用指定字符串拼接
SELECT STUFF(
(SELECT ','''+t.our_ref + '''' FROM
(select our_ref from tb_fp_case_info where our_ref like '%HK%'
and len(isnull(old_our_ref,'')) > 0 and len(isnull(our_ref_base,'')) = 0
and len(replace(old_our_ref,' ','') ) = len(old_our_ref) and len(replace(old_our_ref,',','') ) = len(old_our_ref)
and len(replace(old_our_ref,'.','') ) = len(old_our_ref)) t
FOR XML PATH('')),1,1,'') as allref
四又厉、SQL連接查詢注意事項
在編寫SQL查詢語句時九府,多表連接查詢應(yīng)盡可能的根據(jù)需要,選擇不同的連接方式進行查詢覆致,已提升查詢效率侄旬。
????In關(guān)鍵字,在對比數(shù)據(jù)較大時煌妈,查詢效率低儡羔,應(yīng)該考慮使用其他方法(待定)。
????ON和WHERE的篩選順序是由右至左璧诵,ON優(yōu)先于WHERE汰蜘。
????同樣兩個條件,a and b和b and a效果都不一樣之宿。
????左連接查詢數(shù)據(jù)量較大時族操,可以壓縮一下坐查詢的根表,表經(jīng)常變動的話比被,指示查詢色难,可能會受到行鎖的等待影響,問題不大等缀。
五枷莉、SQLSERVER對于字符串中全半角符號的處理問題
select trademark_clascode,case_type_id,*
????from tb_ft_case_info
????where trademark_clascode isn not NULL and
????(case_type_id != 'ZD or case_type_id is null) and
????trademark_clascode COLLATE'COLLATE Chinese_PRC_CAWS like '%,%'order by case_type_id