当前位置:网站首页>【时间的比较】
【时间的比较】
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。
边栏推荐
- Huawei, Lenovo, BAIC, etc. were selected as the first batch of training bases for "Enterprise Digital Transformation and Security Capability Improvement" by the Ministry of Industry and Information Te
- 基于DMS的数仓智能运维服务,知多少?
- TiKV & TiFlash accelerate complex business queries丨TiFlash application practice
- 华为、联想、北汽等入选工信部“企业数字化转型和安全能力提升”首批实训基地
- 虹科分享 | 如何测试与验证复杂的FPGA设计(3)——硬件测试
- 【LeetCode】899. 有序队列
- 为什么我用了Redis之后,系统的性能却没有提升
- 中小微企业如何简单便捷、低成本实现数字化?360视觉云有妙招
- 融云「音视频架构实践」技术专场【内含完整PPT】
- C专家编程 第2章 这不是Bug,而是语言特性 2.1 这关语言特性何事,在Fortran里这就是Bug呀
猜你喜欢
C专家编程 第3章 分析C语言的声明 3.8 理解所有分析过程的代码段
为何微博又双叒叕崩溃了?
leetcode-每日一题899. 有序队列(思维题)
EMQX Newsletter 2022-07|EMQX 5.0 正式发布、EMQX Cloud 新增 2 个数据库集成
PTA递归练习
TiKV & TiFlash accelerate complex business queries丨TiFlash application practice
Auto Scaling 弹性伸缩(运维释放人力)
TiKV & TiFlash 加速复杂业务查询丨TiFlash 应用实践
通用型安全监测数据管理系统
学会 Arthas,让你 3 年经验掌握 5 年功力!
随机推荐
微信小程序 - 数组 push / unshift 追加后数组返回内容为数字(数组添加后打印结果为 Number 数值类型)
掌握Redis的Sentinel哨兵原理,可助你拿到25k的offer
为何微博又双叒叕崩溃了?
Big guys.Use flink-cdc-sqlserver version 2.2.0 to read sqlserver2008R
B站回应HR称核心用户是Loser;微博回应宕机原因;Go 1.19 正式发布|极客头条
双指针/滑动窗口问题
【系统学习编程-编程入门-全民编程 视频教程】
使用Stream多年,collect还有这些“骚操作”?
C专家编程 第3章 分析C语言的声明 3.3 优先级规则
TypeScript的配置文件tsconfig.json
C专家编程 第2章 这不是Bug,而是语言特性 2.1 这关语言特性何事,在Fortran里这就是Bug呀
华为、联想、北汽等入选工信部“企业数字化转型和安全能力提升”首批实训基地
#yyds干货盘点# 面试必刷TOP101:两个链表的第一个公共结点
204. Count Primes
沃尔沃:这是会“种草”的“安全感”!
广告电商系统开发之会员系统板块
C专家编程 第3章 分析C语言的声明 3.1 只有编译器才会喜欢的语法
2年开发经验去面试,吊打面试官,即将面试的程序员这些笔记建议复习
【GAMES101】作业6 加速结构
CC2530_ZigBee+华为云IOT:设计一套属于自己的冷链采集系统