繁体   English   中英

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

[英]DB2 SQL extract only month and year from date column

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

在此处输入图像描述

您确定要处理实际的日期数据类型吗?

鉴于WHERE DT01MM > '20160101'

在我看来,您正在处理字符列; 因为 AFAIK DB2 不会像'2016-01-01'那样隐式地将'20160101'投射到日期。

既然如此,你的任务就很容易了。 只需子串前 6 个字符..

选择按匹配数排序的月-年计数 (m-yyyy):

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;

结果:

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM