I have to translate my PL/SQL data into HIVE with main format:
NVL(SELECT FROM (SELECT)),(SELECT FROM (SELECT)) AS EXPI_DATE
My raw data looks like this :
NVL(
(SELECT MIN(DATE_TIME)AS EF_DATE
FROM (SELECT C,
S,
DATE_TIME FROM(SELECT C,
S,
DATE_TIME,
CASE
WHEN lead over ( order by ) IS NULL
THEN 'Y'
ELSE 'N'
END AS flag
FROM table_1
)aihiscur
WHERE flag = 'Y') Z
AND Z.DATE_TIME > A.DATE_TIME
),
(SELECT
MIN(DATE_TIME)AS EF_DATE
FROM (SELECT C,
S,
DATE_TIME
FROM (SELECT C,
S,
DATE_TIME,
CASE
WHEN lead over ( order by ) IS NULL
THEN 'Y'
ELSE 'N'
END AS flag
FROM table_2
)aicuri
WHERE flag = 'Y') Z
WHERE CU_CODE = A.cR_CODE
AND Z.DATE_TIME > A.DATE_TIME
)aicurin
) AS EXPI_DATE
My questions is:
- What is the efficient way to do this since hive forbid the use of NVL(),()
All the help and ideas will be appreciated!
Does
COALESCEwork for you in this case?