① sql 獲取字元串的首字母是按什麼規則
如果是在一個字元串中找出第一個字母,可用REGEXP_INSTR函數來實現。
例:SELECT REGEXP_INSTR('123Arter','[[:alpha:]]') FROM al;
返回結果是4。
② SQL獲取漢字首字母方法
DECLARE @str VARCHAR(100)
SET @str = '漢字的首字母'
SELECT @str AS A, dbo.fun_getPY(@str) AS B
先執行上面的那個函數,然後在執行下面的那個語句,就可以得到你要的結果了。
③ sql如何截取字元串中前面的數字
如果提取字元串中的數字,需要自定義函數,以下函數包含截取字元串中的數字、字母、漢字等。
createfunctionfn_myget
(@strasvarchar(max),
@categoryasvarchar(10)='Chinese',
@startasint=1,
@endasint=100000)
returnsvarchar(max)
as
begin
declare@iint=@start
declare@lenstrint=len(@str)
declare@str1varchar(max)
declare@strrevarchar(max)=''
while@i<=@lenstrand@i<=@end
begin
set@str1=substring(@str,@i,1);
--提取漢字
if(@Category='Chinese')
begin
if(len(@str1)!=datalength(@str1))
set@strre=@strre+@str1
end
--提取字母
elseif(@Category='Letters')
begin
if((ascii(@str1)>=65andascii(@str1)<=90orascii(@str1)>=97andascii(@str1)<=122))
set@strre=@strre+@str1
end
--提取數字
elseif(@Category='Digital')
begin
if(ascii(@str1)>=48andascii(@str1)<=57)
set@strre=@strre+@str1
end
else
set@strre='輸入錯誤'
set@i=@i+1
end
return(@strre)
end
測試:
1、截取字元串dsajf23423423中的數字
selectdbo.fn_myget('dsajf23423423','Digital',1,1000)
結果:
自定義函數說明:
函數共需要4個參數:
第一個參數是要截取的字元串;
第二個參數根據要截取的內容不同,分別有「Digital」(截取數字)、「Letters」(截取字母)、「Chinese」(截取中文);
第三個參數代表截取的起始位;
第四個參數代表截取的截取的結束位。
④ sql 提取第一個字元
substring(欄位,1)as
a,
substring(欄位,1,2)
函數格式:
string
substr
(
string
string,
int
start
[,
int
length])
參數1:處理字元串
參數2:截取的起始位置(第一個字元是從0開始)
參數3:截取的字元數量