2012-02-10 51 views
0

我试图用两个其他列的连接和转换结果更新一列,以创建一个带有日期字段的列。 SELECT语句返回我想要更新的值,但我错过了更新中的某些内容(可能很简单)。它不会执行,因为带有连接日期的更新列(SQL Server)

“子查询返回多个值”。

但是,我不想用每行更新相同的值,而是更新每行的连接结果。

我错过了什么?

UPDATE myTable 
SET myDate = 
(
SELECT 
CONVERT (Date,(CONVERT (NVarchar, CreatedYear) + '-' + CONVERT (NVarchar, CreatedMonth) + '-' + '01') ,0) 

FROM myTable 
) 

回答

1

我相信你有一个额外的SELECT不是必需的。请尝试:

​​
+0

就是这样。谢谢Steve和Eric。 – brock434 2012-02-10 01:42:39

0

这是在我看来,更可读一点:

UPDATE dbo.tblControlMaster SET AuditAddDate = CAST(CreatedYear AS NVARCHAR(4)) + '-' + CAST(CreatedMonth AS NVARCHAR(2)) + '-' + '01'