sql语句 怎么在一个字符串中间加几个字符(假如"12345678"这个字符创,用一个sql语句怎么变成"12:34:56:78")

直接用估计没有,可以定义一个函数转一下,MSSQL中有个stuff函数
在指定位置替换或增加字符,比如:
SELECT STUFF('12345678', 2, 3, 'abc')
SELECT STUFF('12345678', 2, 0, ':')
但只能插入一个位置。
建议自定义一个字符串处理函数,然后在语句中调用吧
比如
create function dbo.fn_setColon (
@oldstr varchar(4000) )
returns varchar(4000)
as
begin
declare @outstr varchar(4000)
set @outstr=''
while (len(@oldstr)>2)
begin
set @outstr=@outstr+left(@oldstr,2)+':'
set @oldstr=right(@oldstr, len(@oldstr)-2)

end
if @oldstr<>''
begin
set @outstr=@outstr+@oldstr
end
return @outstr
end

select dbo.fn_getColon('123456789')
第二种情况可以先把字符串中的字母替换掉,然后再调用该函数,建议还是通过前端程序来处理字符串

猜你喜欢

转载自www.cnblogs.com/lydg/p/11507192.html