2012-01-24 87 views
0

我有一個SQL Server查詢下面,我不得不從TR_DATETIME轉換到Oracle SP轉換這個SQL Server查詢到Oracle

DATEADD(dd, 0, DATEDIFF(dd, 0, DATEADD(ss, -L_LAST_TIME, TR.TR_DATETIME))) AS TRDATE, 

基本上你減去L_LAST_TIME秒鐘,然後截斷一部分時間只有不停日期部分。

回答

1

您可以將時間間隔:

select trunc(TR.TR_DATETIME - interval L_LAST_TIME SECOND) AS TRDATE 

select trunc(TR.TR_DATETIME - NUMTODSINTERVAL(L_LAST_TIME, 'SECOND')) AS TRDATE 
0

我們可以在Oracle中使用日期進行算術運算。

select trunc(tr.tr_time - (l_last_time/86400)) as trdate 
from tr 
/

除以86400 l_last_time匝的秒數成一天的一小部分。從tr_time列中刪除它會爲您提供一個新的更早的日期。截斷日期會刪除時間組件。