SQL 分離字串

2021-09-10 19:26:46 字數 1337 閱讀 6912

len('1234')  //返回4
2、charindex() 函式:

解釋:charindex函式返回字元或者字串在另乙個字串中的起始位置

charindex ( x , y, [len] )

注意:x是要到y中尋找的字元中,len是charindex函式開始在y中找x的位置。

charindex函式返回乙個整數,返回的整數是要找的字串在被找的字串中的位置。假如charindex沒有找到要找的字串,那麼函式整數「0」

eg:

charindex('q', 'sql server',0)  //返回 2(從零開始查詢)
3、substring( )函式:

解釋:substr (str, pos, len)

由 str 中的第 pos 位置開始,選出接下去的 len 個字元。

eg:substr('abcd',1,2)//返回ab

資料庫**如下:

declare  @str varchar(100)

set @str ='i,you,my live'

declare @numer int

set @numer=0

declare @index int

set @index=(len(@str) - 

len(replace(@str,',','')))/len(',')

declare @i int

set @i=0

declare @lenght int

while @numer

begin

set @numer=@numer+1

begin

set @lenght=charindex(',', @str,@i+1)*1-(@i+1)

endprint 'value:'+substring(@str,@i+1,@lenght)

set @i=(charindex(',',@str,@i+1))

endbegin

print 'value:'+substring(@str,@i+1,1000)

end

@index是獲取逗號把字串分割成多少份;

@i等於逗號的索引位置,

charindex(』,』, @str,@i+1)是獲取下乙個逗號的索引位置,後者減前者等於兩個逗號之間的字元長度,然後用substring(@str,@i+1,@lenght)獲取字元即可。

結果如下圖:

分離字串

有乙個字串 1a2b3d4z 要求寫乙個函式實現如下功能,功能1 把偶數字字元挑選出來,組成乙個字串1 功能2 把奇數字字元挑選出來,組成乙個字串2 功能3 把字串1和字串2,通過函式引數,傳送給main,並列印。功能4 主函式能測試通過。include includeusing namespace...

分離字串中的

函式將字串中的字元 移到串的前部分,前面的非 字元後移,但不能改變非 字元的先後順序,函式返回串中字元 的數量。如原始串為 ab cd e 12,處理後為 abcde12,函式並返回值為5。要求使用盡量少的時間和輔助空間 想法 有點像上篇中的刪除 字串的數字並壓縮。解法 從後到前,遇到字母 非 就與...

華為機試 字串分離

題目描述 通過鍵盤輸入任意乙個字串序列,字串可能包含多個子串,子串以空格分割。請編寫乙個程式,自動分離出各個子串,並使用 將其分離,並且在最後也補充乙個 並將子串儲存。要求實現函式 void dividestring const char pinputstr,long iinputlen,char ...