背景

有时候需要利用sql中处理关于时间的判别问题,简单的如比较时间的早晚,判断一个时间是否在一段时间内的问题等。如果简单将时间判断与数值比较等同,那就会出现一些问题。

处理方式

处理Sql时间范围的问题有两种比较方式。

当前时间

select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as Nowtime from dual; 
//2020-04-02 16:25:42

1、将日期转换为字符串再比较

select sysdate nowtime from dual where to_char(sysdate,'yyyymmdd hh24:mi:ss') between '' and '';
//02-APR-20,时间范围是2020-04-01 00:00:00 至 2020-04-03 00:00:00
select sysdate time from dual where to_char(sysdate,'yyyymmdd') between '' and '';
//02-APR-20,时间范围是2020-04-02 00:00:00 至 2020-04-02 24:00:00

2、将字符串转化为日期再比较

select sysdate nowtime from dual where sysdate between to_date('','yyyyMMdd') and to_date('','yyyyMMdd');
//02-APR-20,时间范围是2020-04-01 00:00:00 至 2020-04-03 00:00:00

注意:如果不在字符串中指定时间则转换的时间默认为0点,所以前后日期一致则时间间隔为0。

select to_char(to_date('','yyyyMMdd'),'yyyyMMdd hh24:mi:ss') nowtime from dual;
//20200402 00:00:00

最新文章

  1. 游戏对象消失三种方法的区别?(enabled/Destroy/active)
  2. javascript中字符串的常用方法
  3. [转载]Eziriz .NET Reactor 4.7.0.0 官方原版+破解补丁(强大的代码保护和软件防盗版工具)
  4. innodb_support_xa
  5. oschina企业应用
  6. http://blog.csdn.net/baimafujinji/article/details/10931621
  7. ZendStudio9之SVN项目代码提示丢失解决
  8. loadrunner 录制TCP协议脚本操作
  9. ubuntu sendmail配置发送邮件
  10. spring cloud实战与思考(三) 微服务之间通过fiegn上传一组文件(下)
  11. SQL Server2016安装
  12. centos7 端口3306无法连接问题
  13. 遇到问题或bug时要做的事。
  14. 【Java并发编程】7、线程池
  15. 10种CSS3实现的Loading效果
  16. 测试markdown编辑器
  17. php连接sql2005
  18. 自增长主键Id的设计
  19. 用一个词(TASPK)牢记C程序内存布局
  20. utf_8 和 GBK 不搭出现乱码(转)

热门文章

  1. java多线程(三):多线程单例模式,双重检查,volatile关键字
  2. 定宽整形(C++11起)
  3. Vue 给页面加水印指令(directive)
  4. 针对VM从挂机-启动后,docker相关服务的无法使用问题!
  5. windows安装cnpm步骤
  6. JDK1.8源码学习-String
  7. Linux查看系统硬件信息命令汇总
  8. Go | Go 语言打包静态文件以及如何与Gin一起使用Go-bindata
  9. Spring Boot 集成 Memcached
  10. parallel stream-不能随便使用