我有数据将日期存储为文本,例如:
Jan 01, 2001
我看到许多示例展示了如何将日期时间格式化为这种格式,但我正在寻找一个函数来将它改回日期。
更令人困惑的是,我尝试的结果是“2020-01-01”。有什么建议吗?
DECLARE @d varchar(10) = 'Jan 01, 2001'
SELECT TRY_CONVERT(date, @d)
我使用的是 SQL Server 2014。
最佳答案
您的字符串不够长。用足够长的长度声明它:
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。
关于sql - 将转换后的格式更改为 ISO 日期 - SQL Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55819564/