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