Ценю вашу помощь по приведенному ниже вопросу, я долго борюсь за этот вопрос.Пожалуйста, посмотрите на пример ниже.
(SELECT MIN(CASE WHEN SI.DATE_STAT >= 78000000000000000 AND
SUBSTR(DIGITS(SI.DATE_STAT),5,2) BETWEEN '01' AND '12' AND
SUBSTR(DIGITS(SI.DATE_STAT),9,1) BETWEEN '0' AND '3' AND
INT(SUBSTR(DIGITS(SI.DATE_STAT),7,2)) BETWEEN 1 AND
DAY(DATE(CAST(19+INT(SI.DATE_STAT / 100000000000000000) AS CHAR(2)) ||
TRANSLATE('YE-MN-01', DIGITS(SI.DATE_STAT), 'xxYEMNDA')) + 1 MONTH - 1 DAY)
THEN TIMESTAMP(CAST(19+INT(SI.DATE_STAT / 100000000000000000) AS CHAR(2)) ||
TRANSLATE('YE-MN-DA HR:UT:SC', DIGITS(SI.DATE_STAT),'xxYEMNDAxHRUTSC')) -
INT(MOD(3 - INT(SUBSTR(DIGITS(SI.DATE_STAT),9,1)),3)) DAYS +
INT(MOD(INT(SUBSTR(DIGITS(SI.DATE_STAT),16,2)) - 1,25) + 1) HOURS +
INT(MOD(4 - ((INT(SUBSTR(DIGITS(SI.DATE_STAT),16,2)) - 1) / 25),4) * 15)
MINUTES ELSE CAST(NULL AS TIMESTAMP)END)
FROM EXPORT.STAT_ITEM SI
WHERE (SI.INVOICE_REF = SH.SHPMNT_REF) AND SI.STAT_CODE = 'ABC') AS ABC,
(SELECT MIN(CASE WHEN SI.DATE_STAT >= 78000000000000000 AND
SUBSTR(DIGITS(SI.DATE_STAT),5,2) BETWEEN '01' AND '12' AND
SUBSTR(DIGITS(SI.DATE_STAT),9,1) BETWEEN '0' AND '3' AND
INT(SUBSTR(DIGITS(SI.DATE_STAT),7,2)) BETWEEN 1 AND
DAY(DATE(CAST(19+INT(SI.DATE_STAT / 100000000000000000) AS CHAR(2)) ||
TRANSLATE('YE-MN-01', DIGITS(SI.DATE_STAT), 'xxYEMNDA')) + 1 MONTH - 1 DAY)
THEN TIMESTAMP(CAST(19+INT(SI.DATE_STAT / 100000000000000000) AS CHAR(2)) ||
TRANSLATE('YE-MN-DA HR:UT:SC', DIGITS(SI.DATE_STAT),'xxYEMNDAxHRUTSC')) -
INT(MOD(3 - INT(SUBSTR(DIGITS(SI.DATE_STAT),9,1)),3)) DAYS +
INT(MOD(INT(SUBSTR(DIGITS(SI.DATE_STAT),16,2)) - 1,25) + 1) HOURS +
INT(MOD(4 - ((INT(SUBSTR(DIGITS(SI.DATE_STAT),16,2)) - 1) / 25),4) * 15)
MINUTES ELSE CAST(NULL AS TIMESTAMP)END)
FROM EXPORT.STAT_ITEM SI
WHERE (SI.INVOICE_REF = SH.SHPMNT_REF) AND SI.STAT_CODE = 'DEF') AS DEF,
//This should be wrong and I'm getting error.
coalesce((days(DEF) - days(ABC)),'0') as TotalTransitTime
Я хочу показать дату между "DEF" и "ABC", и по умолчанию будет 0, если DEF или ABC отсутствуют.Пожалуйста помоги.Большое спасибо!