当前位置:首页 » 编程语言 » 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:截取的字符数量