[ 
https://issues.apache.org/jira/browse/CALCITE-5447?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Oliver Lee updated CALCITE-5447:
--------------------------------
    Description: 
Adding in BigQuery's definition of DATE_TRUNC as described 
[https://g3doc.corp.google.com/company/teams/googlesql/reference/date_functions.md?cl=head#date-trunc]

 

ex.

DATE_TRUNC('2022-01-05', month) -> 2022-01-01

DATE_TRUNC('2022-01-05', day) -> 2022-01-05

DATE_TRUNC('2022-01-05', year) -> 2022-01-01

 

 

Supported parameters:
 * {{DAY}}
 * {{WEEK}}
 * {{{}WEEK(WEEKDAY){}}}following: {{{}SUNDAY{}}}, {{{}MONDAY{}}}, 
{{{}TUESDAY{}}}, {{{}WEDNESDAY{}}}, {{{}THURSDAY{}}}, {{{}FRIDAY{}}}, or 
{{{}SATURDAY{}}}.
 * {{ISOWEEK}}
 * {{MONTH}}
 * {{QUARTER}}
 * {{YEAR}}
 * {{ISOYEAR}}

 

WEEK(WEEKDAY) will have a follow up PR as well 
https://issues.apache.org/jira/browse/CALCITE-5450 

 

  was:
Adding in BigQuery's definition of DATE_TRUNC as described 
[https://g3doc.corp.google.com/company/teams/googlesql/reference/date_functions.md?cl=head#date-trunc]

 

ex.

DATE_TRUNC('2022-01-05', month) -> 2022-01-01

DATE_TRUNC('2022-01-05', day) -> 2022-01-05

DATE_TRUNC('2022-01-05', year) -> 2022-01-01

 

 

Note: BigQuery says it'll support 
 * {{DAY}}
 * {{WEEK}}
 * {{{}WEEK(WEEKDAY){}}}following: {{{}SUNDAY{}}}, {{{}MONDAY{}}}, 
{{{}TUESDAY{}}}, {{{}WEDNESDAY{}}}, {{{}THURSDAY{}}}, {{{}FRIDAY{}}}, or 
{{{}SATURDAY{}}}.
 * {{ISOWEEK}}
 * {{MONTH}}
 * {{QUARTER}}
 * {{YEAR}}
 * {{ISOYEAR}}

but as of right now this ticket will only support 

 
 * {{DAY}}
 * {{WEEK}}
 * {{MONTH}}
 * {{QUARTER}}
 * {{YEAR}}

WEEK(WEEKDAY) will have a follow up PR as well 
https://issues.apache.org/jira/browse/CALCITE-5450 

 

I left out  ISOWEEK, ISOYEAR for date_part because I'm experiencing some weird 
behavior:
{quote}0: jdbc:avatica:remote:url=http://localhost:1> SELECT FLOOR(DATE 
'2008-12-25' to ISOYEAR);
+------------+
|   EXPR$0   |
+------------+
| 2008-12-19 |
+------------+
{quote}
whereas on BQ console 
{quote}SELECT DATE_TRUNC(DATE '2008-12-25', ISOYEAR);
returns 2007-12-31{quote}
 

 


> Add DATE_TRUNC for BigQuery
> ---------------------------
>
>                 Key: CALCITE-5447
>                 URL: https://issues.apache.org/jira/browse/CALCITE-5447
>             Project: Calcite
>          Issue Type: Improvement
>            Reporter: Oliver Lee
>            Assignee: Oliver Lee
>            Priority: Minor
>              Labels: pull-request-available
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Adding in BigQuery's definition of DATE_TRUNC as described 
> [https://g3doc.corp.google.com/company/teams/googlesql/reference/date_functions.md?cl=head#date-trunc]
>  
> ex.
> DATE_TRUNC('2022-01-05', month) -> 2022-01-01
> DATE_TRUNC('2022-01-05', day) -> 2022-01-05
> DATE_TRUNC('2022-01-05', year) -> 2022-01-01
>  
>  
> Supported parameters:
>  * {{DAY}}
>  * {{WEEK}}
>  * {{{}WEEK(WEEKDAY){}}}following: {{{}SUNDAY{}}}, {{{}MONDAY{}}}, 
> {{{}TUESDAY{}}}, {{{}WEDNESDAY{}}}, {{{}THURSDAY{}}}, {{{}FRIDAY{}}}, or 
> {{{}SATURDAY{}}}.
>  * {{ISOWEEK}}
>  * {{MONTH}}
>  * {{QUARTER}}
>  * {{YEAR}}
>  * {{ISOYEAR}}
>  
> WEEK(WEEKDAY) will have a follow up PR as well 
> https://issues.apache.org/jira/browse/CALCITE-5450 
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to