java中的常用的 Date 类本身提供了 before, after方法比较时间的先后,mysql中时间的比较灵活,可以直接使用 <、>、= 进行比较,适应所有时间字段,但是格式需要相同,也可以使用 between and 来进行比较。
还有一个比较灵活的,之前工作中,有这么个场景,有一个时间字段在 java 是String 类型,需要作为参数到 sql 语句中和时间类型的字段比较,一般我都是使用 MySQL 自带的 str_to_date(str, format) 函数将字符串先转化为时间类型再比较,后来发现其实时间类型的字段可以和字符串类型的字段直接进行比较,不用转为相同类型,省去了转化的时间,当然时间格式也要一样。
timestamp类型的时间比较
SELECT * FROM `timetest` where timestamptest = '2021-08-29 11:54:22'
datetime类型的时间比较
select * from test where datetimetest = '2021-08-29 11:54:22'
time类型的时间比较
SELECT * FROM `timetest` where timetest = '11:54:22'
date类型的时间比较
SELECT * FROM `timetest` where datetest = '2021-08-29'
year类型的时间比较
SELECT * FROM `timetest` where yeartest = '2021'
Mysql 日期大小比较mysql 时间参数 年月日 时分秒 比较大小mysql 时间参数 年月日 比较大小
mysql 时间参数 年月日 时分秒 比较大小
<select id="checkTimeRepeatNum" parameterType="HomepageAdvertisement" resultType="int">
SELECT COUNT(*) FROM qs_study_homepage_advertisement WHERE is_valid=1
我们知道,mysql里边,日期类型有很多表现形式,date, datetime,timestamp等类型。考虑这样一种场景:按时间段拉取给定时间段的内容,这时,我们就得使用日期类型的比较了。表结构:tablename_tbl+-----------------+--------------+------+-----+-------------------+----------------+| Fi...
相同显示TIMESTAMP列的显示格式与DATETIME列相同。换句话说,显示宽度固定在19字符,并且格式为YYYY-MM-DD HH:MM:SS。不同范围datetime以'YYYY-MM-DD HH:MM:SS'格式检索和显示DATETIME值。支持的范围为'1000-01-01 00:00:00'到'9999-12-31 23:59:59'TIMESTAMP值不能早于1970或晚于2037储...
比较字符串类型的时间大小
数据库中的时间是varchar类型的,MySql使用CURDATE()来获取当前日期,SqlServer通过GETDATE()来获取当前日期
1. 直接使用字符串来比较
注意:要保证两个数据的类型完全相同,否则异常
比如A:"2016-09-01",如果B数据是:"2016-9-2",那么无法进行比较
2. 通过类型转换函数convert(),
注意:...
假如有个表product有个字段add_time,它的数据类型为datetime,有人可能会这样写sql:代码如下复制代码select* from product where add_time = '2013-01-12'对于这种语句,如果你存储的格式是YY-mm-dd是这样的,那么OK,如果你存储的格式是:2013-01-12 23:23:56这种格式你就悲剧了,这是你就可以使用DATE()函...
我们知道,mysql里边,日期类型有很多表现形式,date, datetime,timestamp等类型。考虑这样一种场景: 按时间段拉取给定时间段的内容,这时,我们就得使用日期类型的比较了。 表结构:tablename_tbl +-----------------+--------------+------+-----+-------------------+---------------