只在oracle中插入时间[关闭]

Posted

技术标签:

【中文标题】只在oracle中插入时间[关闭]【英文标题】:insert only time in oracle [closed] 【发布时间】:2012-04-08 01:40:49 【问题描述】:

如何在 oracle 中仅在 hh:mi 中插入时间以及如何通过比较时间来运行选择查询。

说明: 让我们考虑每天上午 9 点到 11 点和下午 6 点到 8 点去医院看医生。 因此,当我们运行选择查询来搜索特定日期上午 10 点就诊的医生时。

请用代码说明。

提前致谢。

【问题讨论】:

这是一个糟糕的问题,您应该先尝试自己解决,然后再在这里提问。尝试后,发布您的尝试和收到的任何错误消息,您将获得一些帮助。 您只想考虑时间,但还声明要“搜索在特定日期上午 10 点就诊的医生”? 【参考方案1】:

您只需要基本的日期算术和普通的旧日期类型。

CREATE TABLE doctor_visits (
    doctor_id    NUMBER NOT NULL,
    in_time      DATE NOT NULL,
    out_time     DATE NOT NULL
)
/

我假设您想查找上午 10:00 在医院的医生,而不是正好在上午 10:00 就诊的医生

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:00 和凌晨 2:00。

或者,如果您想查找恰好在上午 10:00 到医院就诊的医生列表,那么

SELECT doctor_id FROM doctor_visits where to_char(in_time,'HH:MI') = '10:00' ;

但查询起来会很奇怪,因为你真的无法确定是否有人在那个特定时间访问。

【讨论】:

感谢您理解我的问题。我对使用什么感到困惑。那是日期数据类型或数字数据类型。我想要一个介于 in_time 和 out_time 之间的医生列表。

以上是关于只在oracle中插入时间[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

将 TIME 插入 Oracle SQL,DATE 字段

如何将这种特定格式的当前日期正确设置到 Oracle DB 上的这个插入查询中? [关闭]

ORACLE不会节省时间。为什么? [关闭]

Oracle 中调用本地程序的限制?

如何从小部件收听已关闭的活动? (onActivityResult只在Activity中)

只在本地使用 lambda 可以吗? [关闭]