I added a Unidac Macro to get current datetime:
Code: Select all
m_dbOurDB->Macros->Add("CURRENTDATE","sysdate","Oracle");
m_dbOurDB->Macros->Add("CURRENTDATE"," now() ","PostgreSQL");
Code: Select all
SELECT A.ID, When dtpromised<={date '1900-01-10'}
THEN
0
ELSE
CASE WHEN dtOut={date '1900-01-01'} or dtPromised={date '1900-01-01'} THEN
{fn truncate({CURRENTDATE}-DTPROMISED,'')}
ELSE
{fn truncate(DTPROMISED-DTOUT,'')}
END
END as DueTime, setupPrice FROM JOBS a
Using postgres, it is not accepted, I get:
function trunc(interval, unknown) does not exist.
So {fn truncate} is always converted to trunc.
SQL monitor shows
Code: Select all
... THEN TRUNC( now() -DTPROMISED, '') ELSE TRUNC(DTPROMISED-DTOUT, '') END...