0

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

4

5 回答 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 回答