我正在尝试使用其他两列的连接和转换结果更新列,以便创建一个带有日期字段的列。 SELECT语句返回我想要更新的值,但是我在更新时遗漏了一些东西(可能很简单)。它不会执行,因为
“子查询返回多个值”。
但是,我不想为每一行更新相同的值,而是每行的连接结果。
我错过了什么?
UPDATE myTable
SET myDate =
(
SELECT
CONVERT (Date,(CONVERT (NVarchar, CreatedYear) + '-' + CONVERT (NVarchar, CreatedMonth) + '-' + '01') ,0)
FROM myTable
)
答案 0 :(得分:1)
我相信你有一个额外的SELECT不需要。请尝试:
UPDATE myTable
SET myDate =
CONVERT (Date,(CONVERT (NVarchar, CreatedYear) + '-' + CONVERT (NVarchar, CreatedMonth) + '-' + '01') ,0)
FROM myTable
答案 1 :(得分:0)
在我看来,这更具有可读性:
UPDATE dbo.tblControlMaster SET AuditAddDate = CAST(CreatedYear AS NVARCHAR(4)) + '-' + CAST(CreatedMonth AS NVARCHAR(2)) + '-' + '01'