Oracle
如何在沒有 varchar 轉換的情況下將時間從 Date 值添加到另一個?
假設我在儲存過程中有 2 個變數,都是日期
Foo包含
'13/10/2019 00:00:00'
酒吧包含
'01/10/1914 16:33:11'
我想將Bar 的時間添加到Foo 的日期,以便獲得一個Foobar變數,其中包含
13/10/2019 16:33:11
有沒有辦法在不將它們中的任何一個轉換為 varchar 的情況下實現這一點?
簡單的加法和減法。
雖然程式碼是 SQL 程式碼,但數學在 PL/SQL 中的工作方式相同。
這段程式碼:
alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss'; with data as ( select TO_date( '13/10/2019 00:00:00', 'DD/MM/YYYY HH24:MI:SS') as foo , to_date( '01/10/1914 16:33:11', 'DD/MM/YYYY HH24:MI:SS') as bar from dual ) select foo, foo + (bar - trunc(bar)) foo_modified, bar from data
產生這個期望的結果:
FOO FOO_MODIFIED BAR ------------------- ------------------- ------------------- 2019-10-13 00:00:00 2019-10-13 16:33:11 1914-10-01 16:33:11