sqlserver如何在字符串中间增加字符

sqlserver如何在字符串中间增加字符,第1张

直接用估计没有,可以定义一个函数转一下,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')

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

写个触发器就可以:

ALTER

TRIGGER

tri_class

ON

class

AFTER

INSERT,

UPDATE

AS

UPDATE

class

SET

bId

=CAST(aId

AS

VARCHAR(10))

+

'T'

WHERE

aId

IN

(SELECT

aId

FROM

inserted)

update 表 set 字段 = 字段 + 'ef' where 筛选条件

其中 字符串的加法在不同数据库中有不同的语句

oracle 写成 update 表 set 字段 =CONCAT( 字段,'ef')where 筛选条件

sqlserver 直接加好像就行了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11535021.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存