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