我在寫一個查詢來選擇一些記錄。我有這個數據:Oracle和DateTime數學
Event Table
------------------
Definition
EVE_RID NUMBER(10)
EVE_START_DATE Date
Data:
EVE_RID EVE_START_DATE
156891 11/1/2016
Agenda Table
------------------
Definition:
AGD_EVE_RID NUMBER(10)
AGD_DAY NUMBER(2)
AGD_START_TIME NUMBER(4)
Data:
AGD_EVE_RID AGD_DAY AGD_START_TIME
156891 1 1000
156891 1 1400
156891 8 1000
156891 8 1400
156891 15 1000
156891 15 1400
WAList Table
------------------
Definition:
WAL_STARTTIME DATE
WAL_KEY VARCHAR2(50)
Data:
WAL_STARTTIME WAL_KEY
11/1/2016 10:00:00 AM 6341371019318098180
11/1/2016 2:00:00 PM 7561779448126279684
11/8/2016 10:00:00 AM 6904435321948802820
11/8/2016 2:00:00 PM 7998296559469684996
11/15/2016 10:00:00 AM 4690144247933554180
11/15/2016 2:00:00 PM 7931460546152111876
我需要的是某種方式來匹配來自議程表的WAList表的記錄。 我怎樣才能寫出我的where子句,以將WALList記錄與Agenda.AGD_DAY記錄進行匹配,並在正確的一天返回正確的密鑰?這將是結果:
EVE_START_DATE AGD_DAY AGD_START_TIME WAL_KEY
11/1/2016 1 1000 6341371019318098180
11/1/2016 1 1400 7561779448126279684
11/1/2016 8 1000 6904435321948802820
11/1/2016 8 1400 7998296559469684996
11/1/2016 15 1000 4690144247933554180
11/1/2016 15 1400 7931460546152111876
如果它只是* *根據時間,我可以看到你預期的輸出日期總是'11/1/2016'? – GurV
但看看WAL表中的StartTime。它具有Sessions.StartDate + SessionDay + StartTime(12小時格式) – MB34
什麼是您的數據類型?第一個表中是「StartDate」,第二個是「日期」數據類型中的「StartTime」?如果是這樣,StartDate的時間部分總是午夜?如果是這樣,爲什麼你會在第一個表中有一個'date'和一個單獨的'StartTime'列,它是一個'varchar2'(我猜),而不是隻是在'StartDate'中正確存儲時間? –