将字符串转换为yyyy-mm-dd

时间:2013-07-02 15:57:22

标签: sql sql-server tsql sqldatatypes

我在excel中有一个日期格式,如“20.03.2013”​​,我将其转换为“2013-03-20”,因为这是日期在我的sql-server表中的样子。我创建了一个临时表,我给该字段varchar(15)数据类型。现在我必须将该varchar字段转换为日期字段,但是当我检查转换选项的列表时,我找不到yyy-mmm-dd。 HERE需要帮助才能获得我的yyyy-mm-dd字符串。

5 个答案:

答案 0 :(得分:2)

你可以使用:

CAST('2013-03-20' AS DATE)将其转换为DATE字段。

有许多格式将CAST()作为DATE没有问题,包括:

20130320
2013-03-20
2013 mar 20
March 20, 2013
2013.03.20

我确定某个地方有一个全面的列表,但找不到快速搜索的列表。我认为语言设置会影响其中一些。

答案 1 :(得分:0)

check here

CAST语法:

CAST ( expression AS data_type [ (length ) ])

CONVERT的语法:

CONVERT ( data_type [ ( length ) ] , expression [ , style ] )

答案 2 :(得分:0)

我相信这种格式会在任何地区自动投射,所以:

select cast('2013-03-20' as datetime)

答案 3 :(得分:0)

我建议使用明确的convert代替cast

select convert(date, '2013-03-20', 120)

答案 4 :(得分:0)

我相信您也可以尝试一下 convert(nvarchar(200), GETDATE(), 112) 用于20200611格式