Impala EOMONTH相当于

问题描述 投票:0回答:1

我的问题是Impala中似乎不存在EOMONTH所以我希望有一个替代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)))
sql impala
1个回答
2
投票

这可以通过truncadd_monthsdate_add的组合来完成。

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

这假设日期的字符串格式是yyyy-MM-ddyyyy-MM-dd HH:mm:ss

© www.soinside.com 2019 - 2024. All rights reserved.