DB2 SQL 从日期列中仅提取月份和年份

问题描述 投票:0回答:2

我尝试对 MGMOV00F 表中的月份和年份进行分组 - 日期列是 DTMOMM,尝试下面的语法但仍然出现错误:函数年份的参数 1 无效,有人帮忙吗?

sql database date db2
2个回答
0
投票

鉴于

WHERE DT01MM > '20160101'


在我看来,你正在处理字符列;因为 AFAIK DB2 不会像

'20160101'

那样隐式地将

'2016-01-01'
转换为 date。

既然如此,你的任务就很简单了。只需对前 6 个字符进行子串即可..


0
投票

SELECT valid_from, COUNT(1) FROM ( SELECT ( EXTRACT(MONTH FROM valid_from) CONCAT '-' CONCAT EXTRACT(YEAR FROM valid_from) ) AS valid_from FROM some_table NOLOCK ) as s GROUP BY s.valid_from ORDER BY 2 DESC;

结果:

© www.soinside.com 2019 - 2024. All rights reserved.