MSSQL 自定義排序 以及 字符截取

在實際應用中,我們從數據庫取出的數據有時不能簡單的通過英文或數字排序,比如當我們需要按中文的天干地支'甲乙丙丁戊己庚辛壬癸子丑寅卯辰已午未申酉戌亥' 來排序,此時就需要用到自定義排序.

語法如下:

 

select * from test order by   charindex(tp_name,'甲乙丙丁戊己庚辛壬癸子丑寅卯辰已午未申酉戌亥');

 

MSSQL中關於字符截取使用substing(sourcechar,start,end);

 

declare @paramters varchar(500)
declare @paramter varchar(500)
declare @len int;
set @paramters = '中國人民,民國人家,呵呵呵,儘快儘快';
set @len = charindex(',',@paramters)-- 找到第一個,的位置.
print @len;
set @paramter = cast(left(@paramters,@len-1)as varchar(20))--獲取第一個逗號前的字符串.
print @paramter;
set @paramters = subString(@paramters,@len+1,len(@paramters)-(@len+1))--獲取剩餘字符串
print @paramters

 結果為:

5
中國人民
民國人家,呵呵呵,儘快儘
 

你可能感兴趣的:(MSSQL)