當前位置:首頁 » 編程語言 » sql取字元串首位
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql取字元串首位

發布時間: 2022-09-28 11:25:08

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:截取的字元數量