1
1 월 31 일, 2 월 28 일 등과 같이 매월 마지막 날짜를 원합니다. 나는 CURRENT_DATE와 아래 시도하고 작동하지만 내 날짜 열을 사용하는 경우는 null를 돌려 :하이브는 매월 종료 날짜가
SELECT datediff(CONCAT(y, '-', (m + 1), '-', '01'), CONCAT(y, '-', m, '-', '01')) FROM
(SELECT
month(from_unixtime(unix_timestamp(C_date, 'yyyyMMdd'),'yyyy-MM-dd')) as m,
year(from_unixtime(unix_timestamp(C_date, 'yyyyMMdd'),'yyyy-MM-dd')) as y,
day(from_unixtime(unix_timestamp(C_date, 'yyyyMMdd'),'yyyy-MM-dd'))
from table2) t
반환 :
_c0
NULL
SELECT
month(from_unixtime(unix_timestamp(C_date, 'yyyyMMdd'),'yyyy-MM-dd')) as m,
year(from_unixtime(unix_timestamp(C_date, 'yyyyMMdd'),'yyyy-MM-dd')) as y,
day(from_unixtime(unix_timestamp(C_date, 'yyyyMMdd'),'yyyy-MM-dd'))
from table2) t
반환 : 사전에
m | y | _c2|
3 |2017| 21|
감사합니다.
[하이브의 마지막 날 찾기] (https://stackoverflow.com/questions/17548584/find-last-day-of-a-month-in-hive) –
last_day (current_date) 선택 가능) - 전체 날짜를 반환합니다 2017-12-31, 나는 31을 얻지 못하면 substr을 얻지 못할 것입니다. – DrSD
하이브에 달력 유틸리티가 있으므로 하이브 UDF 함수로 시도하십시오 –