mysql如何截取字符串中前面的数字_sql如何截取字符串中前面的数字
展開全部
如果提取字符串中的數32313133353236313431303231363533e58685e5aeb931333337613930字,需要自定義函數,以下函數包含截取字符串中的數字、字母、漢字等。create?function?fn_myget
(@str?as?varchar(max),
@category?as?varchar(10)='Chinese',
@start?as?int=1,
@end?as?int=100000)
returns?varchar(max)
as
begin
declare?@i?int=@start
declare?@lenstr?int=len(@str)
declare?@str1?varchar(max)
declare?@strre?varchar(max)=''
while?@i<=@lenstr?and?@i<=@end
begin
set?@str1=substring(@str,@i,1);
--提取漢字
if(@Category='Chinese')
begin
if(len(@str1)!=datalength(@str1))
set?@strre=@strre+@str1
end
--提取字母
else?if(@Category='Letters')
begin
if((ascii(@str1)>=65?and?ascii(@str1)<=90?or?ascii(@str1)>=97?and?ascii(@str1)<=122))
set?@strre=@strre+@str1
end
--提取數字
else?if(@Category='Digital')
begin
if(ascii(@str1)>=48?and?ascii(@str1)<=57)
set?@strre=@strre+@str1
end
else
set?@strre='輸入錯誤'
set?@i=@i+1
end
return(@strre)
end
測試:
1、截取字符串dsajf23423423中的數字select?dbo.fn_myget('dsajf23423423','Digital',1,1000)
結果:
2、截取字符串dsajf23423423中的字母select?dbo.fn_myget('dsajf23423423','Letters',1,1000)
結果:
3、截取“說多了幾分134lljjf愛”中的中文select?dbo.fn_myget('說多了幾分134lljjf愛','Chinese',1,1000)
結果:
自定義函數說明:
函數共需要4個參數:
第一個參數是要截取的字符串;
第二個參數根據要截取的內容不同,分別有“Digital”(截取數字)、“Letters”(截取字母)、“Chinese”(截取中文);
第三個參數代表截取的起始位;
第四個參數代表截取的截取的結束位。
總結
以上是生活随笔為你收集整理的mysql如何截取字符串中前面的数字_sql如何截取字符串中前面的数字的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OpenMV 初识
- 下一篇: 跨年倒计时软件app哪个好 2022年跨