sqlserver如何在字符串中间增加字符
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlserver如何在字符串中间增加字符相关的知识,希望对你有一定的参考价值。
比如我的数据是这样
AA133
AA134
AA135
如何才能在AA后边插入两个0,把数字补足5位?达到如下效果?语句应该怎么写
AA00133
AA00134
AA00135
在指定位置替换或增加字符,比如:
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')
第二种情况可以先把字符串中的字母替换掉,然后再调用该函数,建议还是通过前端程序来处理字符串。 参考技术A 用Replace语句
例如:
Select Replace(AA133, 'AA', 'AA00') --AA133变为AA00133
以上是关于sqlserver如何在字符串中间增加字符的主要内容,如果未能解决你的问题,请参考以下文章