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 ...