我在 Excel 中有一个日期格式,例如“20.03.2013”,我将其转换为“2013-03-20”,因为这就是我的 sql-server 表中日期的样子。我创建了一个临时表,在其中为该字段提供了 varchar(15) 数据类型。现在我必须将该 varchar 字段转换为日期字段,但是当我检查转换选项列表时,我找不到 yyy-mmm-dd。这里需要帮助来获取我的 yyyy-mm-dd 字符串。
问问题
19313 次
5 回答
3
您可以使用:
CAST('2013-03-20' AS DATE)
将其转换为DATE
字段。
有许多格式可以 CAST() 作为 DATE 没有问题,包括:
20130320
2013-03-20
2013 mar 20
March 20, 2013
2013.03.20
我确信某处有一个全面的列表,但无法通过快速搜索找到一个。我相信语言设置会影响其中一些。
于 2013-07-02T15:59:10.867 回答
0
CAST 的语法:
CAST ( expression AS data_type [ (length ) ])
转换的语法:
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
于 2013-07-02T15:59:39.073 回答
0
我相信这种格式会在任何地区自动投射,所以:
select cast('2013-03-20' as datetime)
于 2013-07-02T16:00:07.660 回答
0
我建议使用显式convert
而不是cast
:
select convert(date, '2013-03-20', 120)
于 2013-07-02T16:53:35.117 回答
0
我相信你也可以试试这个
convert(nvarchar(200), GETDATE(), 112)
20200611 格式
于 2020-06-11T07:11:17.810 回答