在SQL CE 4.0中将nvarchar(50)列转换为datetime

时间:2014-02-06 17:50:52

标签: datetime database-design sql-server-ce webmatrix sql-server-ce-4

我是SQL的新手,并且继承了一个使用nvarchar(50)作为“Date”列的数据类型的数据库。我想将此列转换为datetime格式,但我无法弄清楚如何使用SQL CE 4.0并且只能找到SQL的解决方案。

这是SQL中我想要做的一个例子:

SET DATEFORMAT dmy
alter TABLE [dbo].[tablename]
ALTER COLUMN columnname datetime

我知道我可能需要创建一个新列,并使用查询将旧列中的数据复制/转换为新列。我只需要一些指导如何做到这一点。

目前,Date列的格式为“dd / MM / yyyy hh:mm:ss tt”。

如果这有用的话,我一直在使用Microsoft WebMatrix。

谢谢!

1 个答案:

答案 0 :(得分:1)

我同意你的观点:最好的解决方案是创建一个新列

ALTER TABLE yourTable ADD COLUMN newColumn DATETIME

(SQL Server Compact中不存在SET DATEFORMAT语句)

并复制转换格式的数据

UPDATE yourTable SET newColumn = CONVERT(datetime, oldColumn, 103)

有关SQL Server Compact命令的深入描述,请查看http://technet.microsoft.com/en-us/library/ms173372.aspx