dub*_*ech 4 sql-server-2008 sql-server type-conversion datetime
在 SQL Server 中,我有一个 varchar 列,其值例如:
07/May/2012:00:06:22
07/May/2012:00:06:22
07/May/2012:00:06:22
07/May/2012:00:06:22
07/May/2012:00:06:22
Run Code Online (Sandbox Code Playgroud)
假设其他月份的日期被截断为 3 个字符的月份:
ALTER TABLE dbo.tablename ADD newcol DATETIME;
UPDATE dbo.tablename
SET newcol = CONVERT(DATETIME,
REPLACE(LEFT(varchar_col, 11), '/', ' ')
+ ' ' + RIGHT(varchar_col, 8), 113);
Run Code Online (Sandbox Code Playgroud)
验证后,您可以删除 varchar_col,重命名 newcol,然后重新添加任何受影响的索引。