[英]Temp table with converted values
我希望脚本转换表
CREATE TABLE #TempTable (
Code nvarchar(5) primary key,
name nvarchar(100) )
Insert into #TempTable (Code ,name)
Select st.Code , st.name From StaticTable st
但是有些事情我必须改变。
代码必须从100开始自动递增
如果代码长度超过3,则我想在其中插入整数,否则我想复制此代码
所以从
Code Name
ABCD Namezxc
EFGH Nameasd
IJK Nameqwe
我想获得记录临时表:
Code Name
100 Namezxc
101 Nameasd
IJK Nameqwe
最好的祝福
首先插入所有值,然后返回并使用LEN()> 3更新这些值。只需使用阴影(因为其为nvarchar,则必须强制转换)增量变量即可。
CREATE TABLE #TempTable (
Code nvarchar(5) primary key,
name nvarchar(100)
)
Insert into #TempTable (Code ,name)
Select st.Code , st.name From (
select 'ABCD' AS Code, 'Namezxc' as name union all
select 'EFGH' AS Code, 'Nameasd' as name union all
select 'IJK' AS Code, 'Nameqwe' as name
) st
declare @vintCounter as nvarchar(5)
set @vintCounter = N'99'
update #TempTable
SET @vintCounter = Code = cast(@vintCounter as int) + 1
where len(Code) > 3
select * from #TempTable
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.