Julian Hyde created CALCITE-4089: ------------------------------------ Summary: In Babel, allow 'CAST(integer AS DATE)' even though it is illegal in Calcite SQL Key: CALCITE-4089 URL: https://issues.apache.org/jira/browse/CALCITE-4089 Project: Calcite Issue Type: Bug Reporter: Julian Hyde
In Babel, allow 'CAST(integer AS DATE)', even though it is illegal in Calcite SQL (and standard SQL). Map it to valid standard SQL. BigQuery {{CAST(n AS DATE)}} is equivalent to Calcite {{DATE '1970-01-01' + n * INTERVAL '1' DAY}}. Also, add functions {{DATE_FROM_UNIX_DATE(INTEGER)}}, {{UNIX_SECONDS(TIMESTAMP)}}, {{UNIX_MILLIS(TIMESTAMP)}}, {{UNIX_MICROS(TIMESTAMP)}}, {{TIMESTAMP_SECONDS(BIGINT)}}, {{TIMESTAMP_MILLIS(BIGINT)}}, {{TIMESTAMP_MICROS(BIGINT)}} in the BigQuery library. They are well-named and well-specified, so they might be useful to people working in dialects besides BigQuery. {{DATE_FROM_UNIX_DATE(0)}} should return {{DATE '1970-01-01'}}. -- This message was sent by Atlassian Jira (v8.3.4#803005)