我有MSSQL表,其中有这些5000行和一列,其中某些值当前以一种格式:
Nov 14 2016 2:42PM
Dec 15 2016 5:45PM
是否可以将其更新为:
2016-11-14 14:42:18.222
2016-12-15 17:45:38.333
或至少日期月份部分?
和某些值是这样的:
2014-03-17T10:38:13.300
2014-10-20T13:26:00.267
如果也可以更新这些方法,我将不胜感激。
这样的值是可以的:
2016-12-15 14:03:01.444
桌子看起来像这样
id stockid attributeid value
1025183 64348 50 Nov 28 2016 1:02PM
1027332 15984 50 2014-10-20T13:26:00.267
1041149 69924 50 Nov 28 2016 1:17PM
1049041 71661 50 2016-12-15 16:54:03.130
列的数据类型属性设置为Varchar。
要更新现有值,您需要将它们存储为DateTime列。
将VARCHAR值投放到数据时非常简单。
select CAST('Nov 14 2016 2:42PM' as DATETIME),
CAST('2014-03-17T10:38:13.300' as DATETIME)
返回
2016-11-14 14:42:00.000 and 2014-03-17 10:38:13.300
如果要更新表中的所有行,则将使用此语法。
UPDATE [TableName]
SET [ColumnName] = CAST([ColumnName] as DATETIME)
您可以更改表并将列类型从VARCHAR更改为DateTime。尽管您可能需要修改任何访问此表列的代码并期望varchar。