首页 > 解决方案 > 如何从 Varchar 类型的 SQL 中获取月份和年份

问题描述

我已经创建了表(商业)列(MyDate)“Varchar(255)”

我有一些手动条目,例如:

dd-mm-yyyy
01-05-2019
02-05-2019
15-06-2019
16-06-2019

现在我只想选择一个月和一年。喜欢

05-2019 or 06-2019

请告诉我如何从该列中仅选择月份和年份。

标签: sqltsql

解决方案


您不需要在数据类型之间进行任何转换,因为您想从字符串中提取字符串,并提取具有mm-yyyy格式模式的部分,只需使用substring()以下函数:

select distinct substring(replace(MyDate,' ',''), 4, 7) as "Month-Year"
  from myTable;

Month-Year
----------
05-2019
06-2019

顺便说一句,考虑使用replace(MyDate,' ','')( trim(MyDate) for version 2017+ ) 来防止字符串中有空格的可能性。


推荐阅读