将转换后的格式更改为ISO日期-SQL Server

时间:2019-04-23 21:19:18

标签: sql sql-server

我有将日期存储为文本的数据,例如:

  

2001年1月1日

我看到了许多示例,这些示例显示了如何将日期时间格式化为这种格式,但是我正在寻找一个将其更改回日期的函数。

更令人困惑的是我尝试给我的“ 2020-01-01”。有什么建议吗?

DECLARE @d varchar(10) = 'Jan 01, 2001'
SELECT TRY_CONVERT(date, @d)

sql result

我正在使用SQL Server 2014。

1 个答案:

答案 0 :(得分:6)

您的字符串不够长。声明足够长的长度:

DECLARE @d varchar(255) = 'Jan 01, 2001';

SELECT TRY_CONVERT(date, @d);

如果显示@d的值,您将看到此代码返回的内容:

DECLARE @d varchar(10) = 'Jan 01, 2001';

SELECT @d, TRY_CONVERT(date, @d);

'Jan 01, 20'。 SQL Server将其解释为2020。