【问题标题】:How to convert nvarchar having yyyymm values to date?如何将具有 yyyymm 值的 nvarchar 转换为日期?
【发布时间】:2021-03-17 16:31:49
【问题描述】:

我有一张表,其中有一列“绩效月”。此列的数据类型为 nvarchar(255),值从“202001”到“202012”。如何从该表中选择最近 5 个月的数据?

【问题讨论】:

标签: sql sql-server converters


【解决方案1】:

最简单的方法是:

select convert(date, performance_month + '01')

日期的标准字符串表示是 YYYYMMDD。

对于过去五个月的数据,您可以简单地使用:

performance_month >= format(dateadd(month, -5, getdate()), 'yyyyMM')

也就是说,不要将字符串转换为日期。将日期转换为字符串——这有助于优化器,因为它可以“看到”performance_month 而无需函数调用云。

【讨论】:

  • 谢谢,它对我有用.. 转换后如何选择过去 5 个月的数据?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-17
  • 2020-10-05
相关资源
最近更新 更多