当前位置:网站首页>【时间的比较】
【时间的比较】
2022-08-03 17:01:00 【欧菲斯集团】
mysql中时间的比较方法
在mysql对数据的搜索中一定遇到过对时间的搜索。使用较多的有 <,>,<=,>=,between and。在搜索的过程中我们可以发现,对于在日期类型为DATE,DATETIME,TIMESTAMP,TIME的字符串进行比较的时候,我们比较的字符串无论是:
SELECT * from customer WHERE create_time < ‘2022-02-13’;
SELECT * from customer WHERE create_time < ‘2022#02#13’;
SELECT * from customer WHERE create_time < ‘20220213’;
都可以搜索出同样的数据结果。这是因为对这些类型进行比较的时候对字符串的格式要求不严格,比较的字符串可以选择任何格式的分割符进行比较。
获取当前时间
在进行比较的时候有时候会有种业务场景是要求获取当前时间,常用的有三类:
- 获取当前时间(日期+时间)
SELECT now();
SELECT sysdate();
SELECT CURRENT_TIMESTAMP();
前两函数获取的时间是datetime类型,而后一种获取的是时间戳。
- 获取当前日期(日期)
SELECT CURRENT_DATE();
获取的类型是date
- 获取当前时间(时间)
SELECT CURRENT_TIME();
获取的时间类型是time
Java中时间的比较方法
在Java中时间的比较方式就更多了,除了前面讲的mysql中的方法也是适用外还有mybatis提供的gt、ge、lt、le和Date()自带的after()、before()还有String提供的compareTo()都可由用于时间的比较。
gt、ge、lt、le
| 方法 | 作用 |
|---|---|
| gt | 大于> |
| ge | 大于等于> |
| lt | 小于< |
| le | 小于等于<= |
这些方法不仅仅只是用于时间的比较,他们还可以用于数量大小的比较。
after()和before()
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String beginTime="2022-07-09 10:22:22";
String endTime="2022-07-31 11:22:22";
Date beginDate=sdf.parse(beginTime);
Date endDate=sdf.parse(endTime);
System.out.println(beginDate.before(endDate));
System.out.println(beginDate.after(endDate));

compareTo()
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String beginTime="2022-07-09 10:22:22";
String endTime="2022-07-31 11:22:22";
Integer i=beginTime.compareTo(endTime);
System.out.println(i);
beginTime比endTime小时会返回负数,相反就返回正数,相等返回0。
边栏推荐
- EasyExcel实现动态列解析和存表
- 论文解读(JKnet)《Representation Learning on Graphs with Jumping Knowledge Networks》
- 学会 Arthas,让你 3 年经验掌握 5 年功力!
- node连接mongoose数据库流程
- Big guys.Use flink-cdc-sqlserver version 2.2.0 to read sqlserver2008R
- 软考 --- 软件工程(1)概念、开发模型
- LeetCode·1163.按字典序排在最后的子串·最小表示法
- 11. Container With Most Water
- leetcode-每日一题899. 有序队列(思维题)
- 通俗理解apt-get 和pip的区别是什么
猜你喜欢

SQL中对 datetime 类型操作

#yyds干货盘点# 面试必刷TOP101:两个链表的第一个公共结点

浅谈Service&nbsp;Mesh对业务系统的价值

虹科分享 | 如何测试与验证复杂的FPGA设计(3)——硬件测试

完整的搭建内网穿透ngrok详细教程(有图有真相)

TiKV & TiFlash accelerate complex business queries丨TiFlash application practice

security加密解密

一个域名对应多个IP地址
![[Unity Getting Started Plan] Basic Concepts (6) - Sprite Renderer Sprite Renderer](/img/c2/5717cb053bc6c07829a616735cbc71.png)
[Unity Getting Started Plan] Basic Concepts (6) - Sprite Renderer Sprite Renderer

沃尔沃:这是会“种草”的“安全感”!
随机推荐
数字资产的价值激发:NFT 质押
九种方法!教你如何读取resources目录下的文件路径
sphinx error connection to 127.0.0.1:9312 failed (errno=0, msg=)
高效的组织信息共享知识库是一种宝贵的资源
“68道 Redis+168道 MySQL”精品面试题(带解析),你背废了吗?
C# 构造函数如人之影子
通用型安全监测数据管理系统
TiKV & TiFlash 加速复杂业务查询丨TiFlash 应用实践
EasyExcel实现动态列解析和存表
使用uniapp 封装一个request 请求
FinClip | July 2022 Product Highlights
Auto Scaling 弹性伸缩(运维释放人力)
sphinx coreseek的安装和php下使用
【数仓】数据质量监控
兄弟组件通信context
JS 字符串转 GBK 编码超精简实现
C专家编程 第2章 这不是Bug,而是语言特性 2.2 多做之过
怎么在opengauss中进行测试自己添加的新函数的性能(循环n次的运行时间)?
J9货币论:数字经济为全球经济复苏注入力量
C专家编程 第3章 分析C语言的声明 3.8 理解所有分析过程的代码段