1

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

4

4 回答 4

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;
于 2013-09-10T16:48:08.777 回答
2

是的!!

select convert(datetime,'31-Dec-2001')
于 2013-09-10T16:36:55.910 回答
1

您可以执行以下操作:

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

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

于 2013-09-10T16:37:18.727 回答
0

尝试这样的事情

select convert(datetime,'31-Dec-2001',1)
于 2013-09-10T16:41:26.963 回答