The EXTRACT function extracts a portion of a DateTime, such as the day of the week or month of the year.
<ExtractExpr> ::= EXTRACT(<expr>,<DateTimeUnit>) <DateTimeUnit> ::= SECOND | MINUTE | HOUR | DAY_OF_WEEK | DAY_OF_MONTH | DAY_OF_YEAR | DATE | WEEK | MONTH | QUARTER | YEAR
EXTRACT("TimeStamp", SECOND) = 12 EXTRACT("TimeStamp", MINUTE) = 35 EXTRACT("TimeStamp", HOUR) = 11 EXTRACT("TimeStamp", DATE) = 13 EXTRACT("TimeStamp", WEEK) = 40 /* Zero-indexed */ EXTRACT("TimeStamp", MONTH) = 10 EXTRACT("TimeStamp", QUARTER) = 3 /* Zero-indexed */ EXTRACT("TimeStamp", YEAR) = 2009 EXTRACT("TimeStamp", DAY_OF_WEEK) = 4 /* Zero-indexed */ EXTRACT("TimeStamp", DAY_OF_MONTH) = 13 EXTRACT("TimeStamp", DAY_OF_YEAR) = 286 /* Zero-indexed */
RETURN Quarters AS SELECT SUM(Amount) AS Total TRUNC(TimeStamp, QUARTER) AS Qtr WHERE EXTRACT(TimeStamp,DAY_OF_WEEK) = 1 GROUP BY Qtr