-
Notifications
You must be signed in to change notification settings - Fork 110
Open
Description
About You:
Name: Dechao Hu
Company: Apache Doris
Your question:
As shown below, I implemented DATETRUNC in the dialect file to receive the start_of_week input:
<date-function name='DATETRUNC' return-type='datetime'>
<formula part='year'>ADDDATE( DATE_FORMAT( %2, '%Y-01-01 00:00:00' ), INTERVAL 0 SECOND )</formula>
<formula part='quarter'>ADDDATE( CONCAT( DATE_FORMAT( %2, '%Y-' ), (3*(QUARTER(%2)-1)+1), '-01 00:00:00' ), INTERVAL 0 SECOND )</formula>
<formula part='month'>ADDDATE( DATE_FORMAT( %2, '%Y-%m-01 00:00:00' ), INTERVAL 0 SECOND )</formula>
<formula part='dayofyear'>ADDDATE( DATE_FORMAT( %2, '%Y-%m-%d 00:00:00' ), INTERVAL 0 SECOND )</formula>
<formula part='day'>ADDDATE( DATE_FORMAT( %2, '%Y-%m-%d 00:00:00' ), INTERVAL 0 SECOND )</formula>
<formula part='weekday'>ADDDATE( DATE_FORMAT( %2, '%Y-%m-%d 00:00:00' ), INTERVAL 0 SECOND )</formula>
<formula part='week'>aDDDATE(DATE_FORMAT( %2, '%Y-%m-%d 00:00:00' ), INTERVAL (-DAYOFWEEK(%2) + 1) DAY)</formula>
<formula part='hour'>ADDDATE( DATE_FORMAT( %2, '%Y-%m-%d %H:00:00' ), INTERVAL 0 SECOND )</formula>
<formula part='minute'>ADDDATE( DATE_FORMAT( %2, '%Y-%m-%d %H:%i:00' ), INTERVAL 0 SECOND )</formula>
<formula part='second'>ADDDATE( DATE_FORMAT( %2, '%Y-%m-%d %H:%i:%s' ), INTERVAL 0 SECOND )</formula>
<argument type='localstr' />
<argument type='datetime' />
</date-function>
<date-function name='DATETRUNC' return-type='datetime'>
<formula part='week'>
CASE
WHEN %3 = 0 THEN ADDdATE(DATE_FORMAT(%2, '%Y-%m-%d 00:00:00'), INTERVAL - ((DAYOFWEEK(%2) + 6) % 7) DAY)
WHEN %3 = 1 THEN ADDdATE(DATE_FORMAT(%2, '%Y-%m-%d 00:00:00'), INTERVAL - ((DAYOFWEEK(%2) + 5) % 7) DAY)
ELSE ADDdATE(DATE_FORMAT(%2, '%Y-%m-%d 00:00:00'), INTERVAL - ((DAYOFWEEK(%2) + 5) % 7) DAY)
END
</formula>
<argument type='localstr' />
<argument type='datetime' />
<argument type='localstr' />
</date-function>

i try to modify <start-of-week-offset value='***' />
, but not work.
Metadata
Metadata
Assignees
Labels
No labels