如何在SQL中将varchar(50)转换为DateTime?

时间:2013-09-10 16:34:50

标签: sql sql-server sql-server-2008

我有一列varchar(50)的数据。样本数据点显示为“2001年12月31日”。 是否可以将其转换为DateTime?我使用SQL Server 2008.谢谢。

4 个答案:

答案 0 :(得分:3)

CREATE TABLE T
(
X VARCHAR(50) NOT NULL
);

INSERT INTO T VALUES ('31-Dec-2001');

SET LANGUAGE ENGLISH;

ALTER TABLE T ALTER COLUMN X DATETIME NOT NULL;

答案 1 :(得分:2)

是的!!

select convert(datetime,'31-Dec-2001')

答案 2 :(得分:1)

您可以执行以下操作:

select cast('31-Dec-2001' as datetime)

但是你应该注意,如果没有时间部分在字符串文字中提供,转换后,日期的时间部分将是午夜:00:00:00

答案 3 :(得分:0)

尝试这样的事情

select convert(datetime,'31-Dec-2001',1)