我的 SQL 表有一个列名 AddressName 。我将客户地址名称存储在该列中。我想以以下格式存储它们,假设当我第一次在该列中插入一个值时,它在下一次插入任何值之前在该字段中存储“Utpal”,然后我想获取下一个要插入为“Utpal2”的字符串值' 并将该值插入表中。类似地,在下一次插入中,该值应为 'Utpal3'。如何使用 SQL 查询执行此任务,请帮助。
谢谢并恭祝安康
乌特帕尔梅蒂
我的 SQL 表有一个列名 AddressName 。我将客户地址名称存储在该列中。我想以以下格式存储它们,假设当我第一次在该列中插入一个值时,它在下一次插入任何值之前在该字段中存储“Utpal”,然后我想获取下一个要插入为“Utpal2”的字符串值' 并将该值插入表中。类似地,在下一次插入中,该值应为 'Utpal3'。如何使用 SQL 查询执行此任务,请帮助。
谢谢并恭祝安康
乌特帕尔梅蒂
像这样的东西会帮助你。只是一个例子:
表模式:
create table person
(
id int identity(1,1),
address varchar(50)
)
GO
脚本:(部分)
--insert second record
insert into person
select top 1 left(address, case patindex('%[0-9]%', address) when 0 then len(address) else patindex('%[0-9]%', address) - 1 end) +
convert(varchar(10),convert(numeric(10,0),Coalesce(NULLIF(right(address, case patindex('%[0-9]%', address)
when 0 then 0
else len(address) - patindex('%[0-9]%', address) + 1
end
)
,'')
,0)
) + 1
)from person
order by id desc
GO
查看SqlFiddle: