[ https://issues.apache.org/jira/browse/HIVE-13557?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15468812#comment-15468812 ]
Carter Shanklin commented on HIVE-13557: ---------------------------------------- Hive supports interval but only with the singular forms, which is annoying. Hive: {code} hive> select date '2012-01-01' + interval '-30' day; OK 2011-12-02 00:00:00 Time taken: 0.506 seconds, Fetched: 1 row(s) hive> select date '2012-01-01' + interval '-30' days; NoViableAltException(146@[323:1: atomExpression : ( ( KW_NULL )=> KW_NULL -> TOK_NULL | ( constant )=> constant | castExpression | caseExpression | whenExpression | ( functionName LPAREN )=> function | tableOrColumn | LPAREN ! expression RPAREN !);]) .... long traceback truncated {code} Same is true of month and year. Hive doesn't support either "week" or "weeks" like other databases do. Compare Postgres: {code} vagrant=# select date '2012-01-01' + (-30) days; days ------------ 2011-12-02 (1 row) vagrant=# select date '2012-01-01' + interval '-30' day; ?column? --------------------- 2011-12-02 00:00:00 (1 row) vagrant=# select date '2012-01-01' + interval '-30' days; days --------------------- 2011-12-31 23:59:30 (1 row) {code} Cleaning this stuff up would be really great. > Make interval keyword optional while specifying DAY in interval arithmetic > -------------------------------------------------------------------------- > > Key: HIVE-13557 > URL: https://issues.apache.org/jira/browse/HIVE-13557 > Project: Hive > Issue Type: Sub-task > Components: Types > Reporter: Ashutosh Chauhan > > Currently we support expressions like: {code} > WHERE SOLD_DATE BETWEEN ((DATE('2000-01-31')) - INTERVAL '30' DAY) AND > DATE('2000-01-31') > {code} > We should support: > {code} > WHERE SOLD_DATE BETWEEN ((DATE('2000-01-31')) + (-30) DAY) AND > DATE('2000-01-31') > {code} > -- This message was sent by Atlassian JIRA (v6.3.4#6332)