declare @Itype [nchar] (10)=N'I'
update [ITest] set Itype=@Itype,@Itype=case when Itype is null then @Itype else Itype end
update [ITest] set Itype=@Itype,@Itype=case when Itype is null then @Itype else Itype end
解决方案 »
- 对速度要求高,数据量少用哪个版本好?
- 新創建一個數據庫,自動的在新數據庫中創建好很多用戶存儲過程???
- 用SQL语句怎么写?
- 行列互换高手,出来帮忙一下.
- 用VC 6.0 ,SQL Server ,ADO编程,如何对数据库表纪录的一行进行锁定,即在读取后尚未写入新值之前防止其他人再读此字段信息,请指教。
- 看看这个嵌套SQL有问题吗,老是没数据。
- 高手指点呀。在线等
- 请问触发器中的最后使用comm tran语句与不使用该语句有何区别?
- 如何合并多列到一列
- DB2问题:DB2里的表建和不建索引关系大不大?
- ssms异常停止工作,求大神帮忙,是否遇到过类似问题
- 问个基本功问题。。。关于删除表内某行的
[Itype] [nchar] (10) NULL,
[Idata] [nchar] (10) NULL)
INSERT #ITest ([Itype],[Idata]) VALUES ( N'I',N'39.1')
INSERT #ITest ([Idata]) VALUES ( N'12.12')
INSERT #ITest ([Idata]) VALUES ( N'12.22')
INSERT #ITest ([Idata]) VALUES ( N'253.69')
INSERT #ITest ([Idata]) VALUES ( N'12.68')
INSERT #ITest ([Itype],[Idata]) VALUES ( N'II',N'32.143')
INSERT #ITest ([Idata]) VALUES ( N'35.31')
INSERT #ITest ([Itype],[Idata]) VALUES ( N'III',N'25.36')SELECT * FROM #ITest;WITH test1
AS
(
SELECT ROW_NUMBER() OVER(ORDER BY GETDATE()) AS ID
,*
FROM #ITest
)
,test2 AS
(
SELECT *,Itype AS Itype1 FROM test1 WHERE ID =1
UNION ALL
SELECT A.*,CASE WHEN A.Itype IS NULL THEN (CASE WHEN B.Itype1 IS NOT NULL THEN B.Itype1 END)ELSE A.Itype END
FROM test1 AS A,test2 AS B
WHERE A.ID=B.ID+1
)
SELECT IType1 AS Itype,Idata FROM test2