我有一个月份表,年份为varchar。我意识到这是一个很大的错误。因为它也来了 很难以这种方式查询。
Year Month Productname
2013 11 ACB
2013 11 CDE
我现在想添加另一个名为date的列,并将这些Year Month存储为现有表的日期
Year Month ProductName Date
2013 11 ACB 2013-11-01
2013 11 CDE 2013-11-01
有没有办法可以对现有表的所有列进行操作?
请告诉我
答案 0 :(得分:2)
将月份和年份列转换为与“-”连接的字符串,并将“-01”添加到末尾。然后转换为日期。
UPDATE t
SET t.[Date] = convert(date, convert(varchar(4),
t.[Year]) + '-' + convert(varchar(2), t.[Month]) + '-01')
FROM Table t
这将为表格中的所有记录创建日期。
答案 1 :(得分:1)
如果我理解这个问题,那应该只是一个连接问题。
例如:
update table1 set [date] = convert(date, month + '-01-' + year)
答案 2 :(得分:0)
SET [Date] = DATEFROMPARTS([Year],[Month],1)