【数据库】当日期(时间)为条件,查询oracle数据库,以及出现ORA-01849:小时值必须介于1和12之间时的解决方法

说明:
数据库 :Oracle 11g;
可视化: Navicat Premiu 15;

注意

在ORACLE中,时间格式默认时间为12小时制,所以如果出现:
ORA-01849 :小时值必须介于1和12之间!的提醒,需要把下面中的
yyyy-MM-dd hh:mi:ss
改为
yyyy-mm-dd HH24:mi:ss

1. 当条件为 某字段在一段时间内的查询

例子:表TableS,字段 StartTime。 查询表TableS中StartTime在2020.09.01 01:00:00 到2020.09.01 07:11:22 区间范围内所有符合条件的数据。

select * from "TableS" where "StartTime" between
to_date('2020/09/01 01:00:00','yyyy-MM-dd hh:mi:ss')
and to_date('2020/09/01 07:11:22',' yyyy-MM-dd hh:mi:ss');

2. 当条件为 时间大于某字段且小于另一字段

例子:例子:表TableS,字段 StartTime、EndTime。 查询表TableS中StartTime大于2020.09.01 01:00:00 且 EndTime小于2020.09.01 07:11:22 区间范围内所有符合条件的数据。

SELECT * from "TableS" WHERE "StartTime" >= to_date('2020/09/01 01:00:00','yyyy-MM-dd HH24:mi:ss') AND "EndTime" <= TO_DATE('2020/09/01 07:11:22','yyyy-MM-dd HH24:mi:ss');
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值