试着用sql语句中的ADD_MONTHS函数回顾teradata整整4个月

时间:2013-10-17 23:02:08

标签: sql teradata

我正试图回去检索过去整整4个月的计数。这是我到目前为止的一个例子:

SELECT datecolumn, Count(datacolumnA) AS CountOfdatacolumnA, datacolumnB

FROM tableA

WHERE datacolumnB='AA' AND datecolumn >= ADD_MONTHS(CURRENT_DATE, -4)

我的结果显示过去四个月加上本月的10月份。问题是6月没有显示整个月的正确计数。我只得到一个月的部分计数。

1 个答案:

答案 0 :(得分:1)

您需要调整到月初。您可以通过减去当月的第几天来获得该月的“0”,然后加1以获得第一个。 (我认为teradata中的日期是小数,int部分是自纪元以来的天数)

Select
    datecolumn, 
    Count(datacolumnA) As CountOfdatacolumnA, 
    datacolumnB
From
    tableA
Where 
    datacolumnB='AA' And
    datecolumn >= 
        add_months(current_date, -4) 
        - extract(day from add_months(current_date, -4)) + 1