Impala: день возврата встроенной функции trunc()

Когда я использую trunc(timestamp, 'D') , он всегда дает мне понедельник этой недели. Можно ли попросить функцию вернуть другой день недели, например вторник? Спасибо!


person Edamame    schedule 29.03.2017    source источник


Ответы (2)


Вы должны использовать trunc(timestamp, 'J'). См. документацию для Day, вы используете «Начальный день недели»:

trunc(timestamp, string unit)
Purpose: Strips off fields from a TIMESTAMP value.
Unit argument: The unit argument value is case-sensitive. This argument string can be one of:
SYYYY, YYYY, YEAR, SYEAR, YYY, YY, Y: Year.
Q: Quarter.
MONTH, MON, MM, RM: Month.
WW, W: Same day of the week as the first day of the month.
DDD, DD, J: Day.
DAY, DY, D: Starting day of the week. (Not necessarily the current day.)
HH, HH12, HH24: Hour. A TIMESTAMP value truncated to the hour is always represented in 24-hour notation, even for the HH12 argument string.
MI: Minute.

https://www.cloudera.com/documentation/enterprise/latest/topics/impala_datetime_functions.html

person Matt    schedule 29.03.2017

легко, просто попробуйте SELECT TRUNC(timestamp, 'D') + INTERVAL 1 DAY;

person Tom Yu    schedule 11.12.2017