Импала EOMONTH эквивалент - PullRequest
       12

Импала EOMONTH эквивалент

0 голосов
/ 20 февраля 2019

Моя проблема в том, что EOMONTH, похоже, не существует в Impala, поэтому я надеялся, что EOMONTH заменит его.Я просто хочу вернуть только те значения, которые соответствуют датам на конец месяца.Ниже приведен запрос, который я пробовал, и последняя строка, где у меня проблема.

SELECT a.ticker,a.FieldName,a.DataSource,b.tickervalue, 
to_timestamp(CAST(tickervaluedate/1000 as bigint)) as tickervaluedate
FROM agronomycn.raw_crttickername AS a 
INNER JOIN agronomycn.raw_crttickervalue as b on a.TickerID = b.TickerID
WHERE a.ticker = 'C_FRONT2' AND a.fieldname = 'CLOSE' AND a.datasource = 'EXCH'
AND to_timestamp(CAST(b.tickervaluedate/1000 as BIGINT)) BETWEEN '2010-01- 01' AND '2019-01-01' 
AND to_timestamp(CAST(b.tickervaluedate/1000 as BIGINT)) = EOMONTH(to_timestamp(CAST(b.tickervaluedate/1000 as BIGINT)))

1 Ответ

0 голосов
/ 20 февраля 2019

Это можно сделать с помощью комбинации trunc, add_months и date_add.

select date_add(add_months(trunc(dtCol,'MM'),1),-1)

. Предполагается, что формат строки даты yyyy-MM-dd или yyyy-MM-dd HH:mm:ss.

...