2012-09-24 33 views
0

有什麼方法可以添加Oracle和MySQL之間可移植的日期/時間嗎?在Oracle和MySQL之間添加日期的便攜方式?

例如,在Oracle,加入col + 1爲日期列將增加一天。

在MySQL中,將col + 1添加到datetime列將添加SECOND。

是否有一個函數可以在兩者中給出相同的結果?

(我想在order by使用這一點,例如,order by col1 + col2/(60*24) - 如果它的SELECT或WHERE的一部分,有可能是更好的選擇。)

謝謝!

+0

爲什麼你需要使用相同的功能? –

+0

和'ORDER BY DateColumn'相當於兩個'ORDER BY DateColumn + 1個sec'和'ORDER BY DateColumn + 1 DAY' –

+0

看到編輯 - 不只是從另一列 – wrschneider

回答

1
select datecolumn + interval '1' day 
from your_table 

作品與OracleMySQL

+0

如此接近加上一個常數,增值...如何我可以這樣做,'1'是表達式而不是字符串常量嗎? 'date + interval(expr)day'在MySQL中工作正常,但Oracle似乎只允許字符串。 – wrschneider

+0

@ wrschneider99:我不認爲這裏有一種表達方式(沒有指望它實際上可以工作)。 –

+0

@ wrschneider99我想你需要做'expr * interval'1'day'。我不認爲「間隔(表達)日」是標準的一部分。 –

0

如果你正在尋找創建一個應用程序,將在Oracle和MySQL使用同一組的查詢工作,你有沒有考慮推出帶有它的腳本,將創建存儲過程來完成你需要的小工作創建一個DATE_ADD_DAYS過程,然後再調用。該sproc包含數據庫特定的東西,你的應用程序只包含調用這些sprocs你知道會存在(因爲他們在你的安裝腳本)