如何将nvarchar(255)转换为YYYY-MM-DD格式



我需要帮助编写SQL语句,将类型为nvarchar(255)的日期列转换为日期类型"yyyy-mm-dd"格式的

我尝试了stackoverflow中与此主题相关的所有可用选项,但找不到适合我的数据集的解决方案。

样本数据:

Fri, 23 Oct, 2020
Mon, 19 Oct, 2020
Fri, 16 Oct, 2020
Tue, 20 Oct, 2020
Tue, 27 Oct, 2020

迄今为止的格式:

2020-Oct-23
2020-Oct-19
2020-Oct-16
2020-Oct-20
2020-Oct-27

我使用的是SQL server 2014。

SQL Server作为将字符串转换为日期的非常灵活的默认规则。然而,它不承认一周中最重要的一天。所以,如果你去掉它,就很容易了:

select convert(date, stuff('Fri, 23 Oct, 2020', 1, 5, ''))

或者引用一个列:

select convert(date, stuff(datecol, 1, 5, ''))

这将生成一个date,然后可以使用format()convert()对其进行任意格式设置。但是,我建议将格式保持为YYYY-MM-DD。这适用于范围比较和ORDER BY。你真的希望日期被表示为日期。

这里有一个db<gt;不停摆弄

相关内容

  • 没有找到相关文章

最新更新