MSSQL 自定義排序 以及 字元擷取

2021-08-26 08:04:34 字數 797 閱讀 7603

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

語法如下:

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

中國人民

民國人家,呵呵呵,盡快盡

自定義截字串方法

問題描述 編寫乙個擷取字串的函式,輸入為乙個字串和位元組數,輸出為按位元組擷取的字串。但是要保證漢字不被截半個,如 我abc 4,應該截為 我ab 輸入 我abc漢def 6,應該輸出為 我abc 而不是 我abc 漢的半個 解決方法 對輸入的字串進行遍歷,若為雙位元組則長度為2,若為單位元組則長度...

自定義截字串方法

問題描述 編寫乙個擷取字串的函式,輸入為乙個字串和位元組數,輸出為按位元組擷取的字串。但是要保證漢字不被截半個,如 我abc 4,應該截為 我ab 輸入 我abc漢def 6,應該輸出為 我abc 而不是 我abc 漢的半個 解決方法 對輸入的字串進行遍歷,若為雙位元組則長度為2,若為單位元組則長度...

MSSQL 自定義分割函式

由於要寫乙個加班程式 需要處理到的乙個問題就是批量插入 listbox的專案插入到資料庫 方法一 迴圈呼叫儲存過程 方法二 一次性傳入引數到儲存過程,儲存過程中游標處理 方法二的方案效率比較高 但需要解決的乙個問題是 如何分割函式 多層分隔函式 工號1 名字1,工號2 名字2,實現迴圈插入資料庫 分...