如何在oracle中只插入hh:mi中的時間以及如何通過比較時間來運行select查詢。在oracle中只插入時間
說明: 考慮醫院每天從上午9點到上午11點和下午6點到8點在醫院就診。 所以當我們運行選擇查詢來搜索在特定日上午10點訪問的醫生時。
請給出與代碼的解釋。
在此先感謝。
如何在oracle中只插入hh:mi中的時間以及如何通過比較時間來運行select查詢。在oracle中只插入時間
說明: 考慮醫院每天從上午9點到上午11點和下午6點到8點在醫院就診。 所以當我們運行選擇查詢來搜索在特定日上午10點訪問的醫生時。
請給出與代碼的解釋。
在此先感謝。
你只需要基本的日期算術和普通的舊日期類型。
CREATE TABLE doctor_visits (
doctor_id NUMBER NOT NULL,
in_time DATE NOT NULL,
out_time DATE NOT NULL
)
/
我想你想找到誰在上午10:00在醫院的醫生,而不是究竟誰在上午10點
SELECT doctor_id FROM doctor_visits
where in_time < trunc(in_time) + NUMTODSINTERVAL(10,'HOUR')
AND out_time > trunc(in_time) + NUMTODSINTERVAL(10,'HOUR') ;
拜訪醫生我還沒有考慮過使用情況的In_time和out_time落在不同的日期,即說,下午11點和2點出。
,或者如果你想找到到底是誰在10:00 AM參觀了醫院醫生的名單,然後
SELECT doctor_id FROM doctor_visits where to_char(in_time,'HH:MI') = '10:00' ;
但是,這將是查詢很奇怪的事情,因爲你真的不能肯定如果有人在那個特定的時間訪問。
感謝您理解我的問題。我很困惑要使用什麼。那就是Date數據類型或數字數據類型。我想要一個介於in_time和out_time之間的醫生列表。 – 2012-03-23 17:32:31
這是一個糟糕的問題,你應該在問這裏之前嘗試自己解決它。一旦你嘗試過,發佈你的嘗試和任何你收到的錯誤消息,你會得到一些幫助。 – Ollie 2012-03-23 13:56:13
你只想考慮時間,但你也說明你想「搜索在特定的日子*上午10點*訪問的醫生*」? – DCookie 2012-03-23 15:32:00