我希望脚本转换我的表
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
祝你好运
答案 0 :(得分:1)
试试这个:
SELECT Case When Len(st.Code) <4 THEN IDENTITY(int, 100,1)
Else st.Code End As Code,
st.name
INTO #TempTable
FROM StaticTable st
答案 1 :(得分:1)
首先插入所有值,然后返回并使用LEN()&gt;更新那些值。 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