我的查询中有一个日期时间字段。
Select Account, Period, JEDate
From table
我想用参数“@Year”(int)替换“JEDate”datetime字段的年份。 我还想用“Period”(int)字段替换月份。
实施例: 如果JEDate是1900-01-01 00:00:00.000(或任何其他日期),那一年是2013年,月份是2,我希望JEDate是2013-02-01 00:00:00.000。< / p>
我该怎么做?
谢谢
答案 0 :(得分:1)
也许:
UPDATE dbo.TableName
SET JEDate = CONVERT(DATETIME, CAST(@Year as varchar(4)) + '-' + CAST(Period as VARCHAR(2)) + '-' + '01', 102)
WHERE JEDate IS NOT NULL
答案 1 :(得分:0)
另一种方法,可以增加原始年份和月份以及新年和月份之间的差异:
选择dateadd(年,@年 - 年(JEDATE),dateadd(月,期 - 月(JEDATE),JEDATE))