我已经创建了表格(商业)列( MyDate )“ Varchar(255)”
我有一些手动输入,例如:
dd-mm-yyyy
01-05-2019
02-05-2019
15-06-2019
16-06-2019
现在我想选择“仅一个月和一年”。喜欢
05-2019 or 06-2019
请告诉我如何从此列中仅选择月份和年份。
答案 0 :(得分:1)
您不需要在数据类型之间进行任何转换,因为您要从字符串中提取字符串,并以mm-yyyy
格式模式提取部分,只需使用substring()
函数,如下所示:< / p>
select distinct substring(replace(MyDate,' ',''), 4, 7) as "Month-Year"
from myTable;
Month-Year
----------
05-2019
06-2019
顺便说一句,考虑使用replace(MyDate,' ','')
(对于2017+版的trim(MyDate)
)来避免字符串中有空格的可能性。
答案 1 :(得分:0)
使用字符串操作:
select right(col, 4) as yyyy,
right(col, 7) as mmyyyy,
substring(col, 4, 2) as mm
答案 2 :(得分:0)
仅对您的数据的MM-YYYY部分使用DISTINCT将根据您的要求仅返回一次MM-YYYY组合。示例脚本如下所示-
SELECT DISTINCT RIGHT(MyDate, 7)
FROM commercials