SELECT
currencyExchangeID,
currencyTypeCode,
rate,
rateFromDate,
rateToDate,
statusCode,
versionNo
INTO
:currencyExchangeID,
:currencyTypeCode,
:rate,
:rateFromDate,
:rateToDate,
:statusCode,
:versionNo
FROM
CurrencyExchange
WHERE
(
:statusCode = statusCode
OR :statusCode IS NULL
)
AND
(
(
:rateToDate IS NULL
AND :rateFromDate IS NULL
AND CURRENT_DATE <= rateFromDate
AND CURRENT_DATE >= rateToDate
)
OR
(
:rateFromDate IS NULL
AND :rateToDateIsNull = '0'
AND :rateToDate = rateToDate
)
OR
(
:rateToDate IS NULL
AND :rateFromDateIsNull = '0'
AND :rateFromDate = rateFromDate
)
OR
(
:rateFromDateIsNull = '0'
AND :rateToDateIsNull = '0'
AND :rateFromDate <= rateFromDate
AND
(
:rateToDate >= rateToDate
OR rateToDate IS NULL
)
)
)
|