-
2021-01-19 15:02:48
在mysql中日期比较有许多的函数,下面我来给大家总结一下常用的mysql中日期比较大小有需要了解的朋友可进入参考参考,假如有个表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()函数用来返回日期的部分,所以这条sql应该如下处理:
select * from product where Date(add_time) = '2013-01-12'
再来一个,如果你要查询2013年1月份加入的产品呢?代码如下:
select * from product where date(add_time) between '2013-01-01' and '2013-01-31'
你还可以这样写:select * from product where Year(add_time) = 2013 and Month(add_time) = 1
这些你该知道mysql日期函数在对你处理日期比较问题的作用了吧?
其date_col的值是在最后30天以内,代码如下:mysql>SELECTsomethingFROMtable
WHERETO_DAYS(NOW())-TO_DAYS(date_col)<=30;
DAYOFWEEK(date):返回日期date的星期索引(1=星期天,2=星期一,……7=星期六),这些索引值对应于ODBC标准,代码如下:mysql>selectDAYOFWEEK('1998-02-03');
->3
WEEKDAY(date):返回date的星期索引(0=星期一,1=星期二, ……6= 星期天),代码如下:mysql>selectWEEKDAY('1997-10-0422:23:00');
->5
mysql>selectWEEKDAY('1997-11-05');
->2
DAYOFMONTH(date):返回date的月份中日期,在1到31范围内,代码如下:mysql>selectDAYOFMONTH('1998-02-03');
->3
DAYOFYEAR(date):返回date在一年中的日数,在1到366范围内,代码如下:mysql>selectDAYOFYEAR('1998-02-03');
->34
MONTH(date):返回date的月份,范围1到12,代码如下:mysql>selectMONTH('1998-02-03');
->2
DAYNAME(date),返回date的星期名字,代码如下:mysql>selectDAYNAME("1998-02-05");
->'Thursday'--phpfensi.com
MONTHNAME(date),返回date的月份名字,代码如下:mysql>selectMONTHNAME("1998-02-05");
->'February'
QUARTER(date),返回date一年中的季度,范围1到4,代码如下:
mysql> select QUARTER('98-04-01');
-> 2
更多相关内容 -
详解Mysql中日期比较大小的方法
2020-09-09 10:21:03主要介绍了Mysql中日期比较大小的方法,需要的朋友可以参考下 -
mysql 日期大小比较,加减 2019-06-25
2021-01-18 21:17:29日期比较最简单的方法,把日期转为时间戳, 直接使用mysql中的 unix_timestamp("时间或者列")函数SELECT b.end_time as "原合同",a.end_time as "续租合同",b.quit_action,b.contract_no,a.* from contracts a,...日期比较
最简单的方法,把日期转为时间戳, 直接使用mysql中的 unix_timestamp("时间或者列")函数
SELECT b.end_time as "原合同",a.end_time as "续租合同",b.quit_action,b.contract_no,a.* from contracts a,
(SELECT * from contracts) b WHERE a.ref_id=b.id and b.end_time>=a.end_time and a.customer_type
not IN ("protocol","protocolstaff") and UNIX_TIMESTAMP(a.sign_time)
日期加法(指定日期间隔)
调用mysql的date_add()函数
date 参数是合法的日期表达式。expr 参数是您希望添加的时间间隔。
SELECT b.end_time as "原合同",a.end_time as "续租合同",a.sign_action,b.finish_time,b.quit_action,b.contract_no,a.ref_id,a.id,a.* from contracts a,(SELECT * from contracts) b WHERE a.ref_id=b.id and b.end_time>=DATE_ADD(a.end_time,INTERVAL 2 MONTH) and a.customer_type not IN ("protocol","protocolstaff") and UNIX_TIMESTAMP(a.sign_time)
日期减法(指定日期间隔)
调用mysql date_sub()函数,方法同上
-
MYSQL中日期比较大小方法详解
2021-04-09 18:14:34mysql中日期比较大小 假如有个表product有个字段add_time,它的数据类型为datetime,有人可能会这样写sql: select * from product where add_time = '2013-01-12' 对于这种语句,如果你存储的格式是yyyy-MM-dd是这样...mysql中日期比较大小
假如有个表product有个字段add_time,它的数据类型为datetime,有人可能会这样写sql:
select * from product where add_time = '2013-01-12'
对于这种语句,如果你存储的格式是yyyy-MM-dd是这样的,那么OK。如果你存储的格式是:yyyy-MM-dd HH:mm:ss这种格式就悲剧了,这时你就可以使用DATE()函数用来返回日期的部分,所以这条sql应该如下处理:
select * from product where Date(add_time) = '2013-01-12'
再来一个,如果你要查询2013年1月份加入的产品呢?
select * from product where date(add_time) between '2013-01-01' and '2013-01-31'
–你还可以这样写:
select * from product where Year(add_time) = 2013 and Month(add_time) = 1
这下你该知道mysql日期函数在对你处理日期比较问题的作用了吧?
DAYOFWEEK(date)
返回日期date的星期索引(1=星期天,2=星期一, ……7=星期六)。这些索引值对应于ODBC标准。
mysql> select DAYOFWEEK('2019-03-26'); -> 3
WEEKDAY(date)
返回date的星期索引(0=星期一,1=星期二, ……6= 星期天)。
mysql> select WEEKDAY('2019-03-26 22:23:00'); -> 1 mysql> select WEEKDAY('2019-03-25'); -> 0
DAYOFMONTH(date)
返回date的月份中日期,在1到31范围内。
mysql> select DAYOFMONTH('1998-02-03'); -> 3
DAYOFYEAR(date)
返回date在一年中的日数, 在1到366范围内。
mysql> select DAYOFYEAR('2019-02-03'); -> 34
MONTH(date)
返回date的月份,范围1到12。
mysql> select MONTH('2019-02-03'); -> 2
DAYNAME(date)
返回date的星期名字。
mysql> select DAYNAME("2019-03-26"); -> 'Thursday'
MONTHNAME(date)
返回date的月份名字。
mysql> select MONTHNAME("2019-03-26"); -> 'March'
QUARTER(date)
返回date一年中的季度,范围1到4。
mysql> select QUARTER('2019-03-26'); -> 1
TO_DAYS(date)
返回从0开始的天数
–取date_col的值在最后30天以内:
SELECT something FROM table WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30;
-
mysql中常用日期比较与计算函数
2020-12-16 07:43:13MySql中时间比较的实现 unix_timestamp() unix_timestamp 函数可以接受一个参数,也可以不使用参数。...例如,判断一个时间是否在一个区间内 unix_timestamp( time ) between unix_timestamp( 'start ') and un -
mysql中日期比较大小的方法
2021-01-19 19:15:22假如有个表product有个字段add_time,它的数据类型为datetime,有人可能会这样写sql:代码如下复制代码select* from product where add_time = '2013-01-12'对于这种语句,如果你存储的格式是YY-mm-dd是这样的,那么OK...假如有个表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()函数用来返回日期的部分,所以这条sql应该如下处理:
代码如下
复制代码
select * from product where Date(add_time) = '2013-01-12'
再来一个,如果你要查询2013年1月份加入的产品呢?
代码如下
复制代码
select * from product where date(add_time) between '2013-01-01' and '2013-01-31'
你还可以这样写:
select * from product where Year(add_time) = 2013 and Month(add_time) = 1
这些你该知道mysql日期函数在对你处理日期比较问题的作用了吧?
其date_col的值是在最后30天以内:
代码如下
复制代码
mysql> SELECT something FROM table
WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30;
DAYOFWEEK(date)
返回日期date的星期索引(1=星期天,2=星期一, ……7=星期六)。这些索引值对应于ODBC标准。
代码如下
复制代码
mysql> select DAYOFWEEK('1998-02-03');
-> 3
WEEKDAY(date)
返回date的星期索引(0=星期一,1=星期二, ……6= 星期天)。
代码如下
复制代码
mysql> select WEEKDAY('1997-10-04 22:23:00');
-> 5
mysql> select WEEKDAY('1997-11-05');
-> 2
DAYOFMONTH(date)
返回date的月份中日期,在1到31范围内。
代码如下
复制代码
mysql> select DAYOFMONTH('1998-02-03');
-> 3
DAYOFYEAR(date)
返回date在一年中的日数, 在1到366范围内。
代码如下
复制代码
mysql> select DAYOFYEAR('1998-02-03');
-> 34
MONTH(date)
返回date的月份,范围1到12。
代码如下
复制代码
mysql> select MONTH('1998-02-03');
-> 2
DAYNAME(date)
返回date的星期名字。
代码如下
复制代码
mysql> select DAYNAME("1998-02-05");
-> 'Thursday'
MONTHNAME(date)
返回date的月份名字。
代码如下
复制代码
mysql> select MONTHNAME("1998-02-05");
-> 'February'
QUARTER(date)
返回date一年中的季度,范围1到4。
代码如下
复制代码
mysql> select QUARTER('98-04-01');
-> 2
-
在MySQL中比较日期大小的方法
2021-04-05 15:29:12假如有个表product有个字段add_time,它的数据类型为datetime,有人可能会这样写sql: select * from product where add_time = '2013-01-12' 对于这种语句,如果你存储的格式是YY-mm-dd是这样的,那么OK,如果你存储... -
Mysql 日期大小比较
2021-04-26 13:22:02Mysql 日期大小比较mysql 时间参数 年月日 时分秒 比较大小mysql 时间参数 年月日 比较大小 mysql 时间参数 年月日 时分秒 比较大小 <select id="checkTimeRepeatNum" parameterType="HomepageAdvertisement" ... -
MySQL中的两个时间函数,用来做两个时间之间的对比
2021-01-19 02:14:08在MySQL中实现Rank高级排名函数【转】MySQL中没有Rank排名函数,当我们需要查询排名时,只能使用MySQL数据库中的基本查询语句来查询普通排名.尽管如此,可不要小瞧基础而简单的查询语句,我们可以利用其来达到Rank函数... -
Mysql中日期比较大小的方法
2019-10-08 18:04:41假如有个表commodity有个字段add_time,它的数据类型为datetime,有人可能会这样写sql: select * from product where add_time = '2013-01-12'; 这种语句,如果你存储的格式是YY-mm-dd这样,那么OK, 如... -
mysql 拼接字段 比较俩个时间段的大小
2021-04-27 23:53:44select concat(times," ",start_time) as time from class_data WHERE teacher_id=0 and is_check=0 order by TIMESTAMPDIFF(MINUTE,time,'2021-04-25 11:00') desc limit 0,1 //abs()获取正值 -9=9 -
mysql 多表查询 比较两个字段最大、最小值,并显示对应字段
2021-02-01 19:49:52buy-B.ticker_sell) 和MIN(A.ticker_buy-B.ticker_sell) ,即同一时间下两个表不同字段的差值的最大值和最小值,并显示对应最大值、最小值对应的date字段,我尝试用sql语句写了下,但是结果不对(用excel大致比较过)... -
MySQL 使用 DATEDIFF 来比较两个日期类型的值
2021-12-18 20:44:57学到新知识: datediff(日期1, 日期2): 得到的结果是日期1与日期2相差的天数。 如果日期1比日期2大,结果为正;如果日期1比日期2小,结果为负。 -
Mysql日期类型大小比较---拉取给定时间段的记录
2021-01-18 19:06:40考虑这样一种场景:按时间段拉取给定时间段的内容,这时,我们就得使用日期类型的比较了。表结构:tablename_tbl+-----------------+--------------+------+-----+-------------------+----------------+| Fi... -
MySQL中字符串比较大小(日期字符串比较问题)
2022-01-05 16:54:06数据库中在对于数字与非数字混合的字符串,在进行大小比较的时候,如果两字符串长度相等,那么两字符串就会比较相同位置的字符,比较时若字符是数字,则直接比较,若字符是非数字那么会转换为ascii码进行比较,若在... -
mysql之字符串进行运算或大小比较
2021-03-03 19:40:40会截取字符串以数字开头的那一部分数字进行运算,如果字符串前面没有数字,那么就只能截取的数值为0,那么进行加减的时候结果都是0,进行乘除的时候结果都是NULL,如下几个结果说明问题:mysql> select '1a'+'1b';+----... -
mysql和sql时间 字段比较大小的问题
2021-01-18 18:37:24不能用两个字符串比较的小的方法来做。例如:‘2010-10-20’> ‘2010-12-15’正解:都是, 后面的时间- 前面的时间mysqlselect count(*) from table where timestampdiff(hour,'2008-08-08 12:00:00','2008-08-08... -
mysql中的时间类型和比较大小
2021-08-29 10:47:44mysql中的时间比较一、时间类型二、时间比较 一、时间类型 mysql有五大时间类型: datetime 可以存储年月日时分秒类型的时间,如果在设计字段的时候可以设置获取当前时间,插入数据的时候,如果没有对该赋值,... -
MySQL datetime类型与时间、日期格式字符串大小比较
2022-04-03 08:46:051、MySQL版本信息: MySQL版本:8.0.27 注意:其他版本(主要5.x版本未验证) 2、表字段: 定义列 create_time datetime null comment '创建时间' 时间数据 id create_time 1 2022-04-01 23:00:00 ... -
mysql时间比较
2012-05-15 16:34:41mysql时间比较,两个事件类型的字段比较大小,以及时间加减计算,例子 -
mybatis-mysql比较两个timestamp的时间
2020-12-24 03:11:04TIMESTAMPDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMP在创建新记录和修改现有记录的时候都对这个数据列刷新2,TIMESTAMPDEFAULTCURRENT_TIMESTAMP在创建新记录的时候把这个字段设置为当前时间,但以后修改时... -
Mysql中时间加减和比较大小的方法
2021-01-20 23:01:38在Mysql中时间的函数很多,非常自由。 在项目中经常用到的就是时间的加减。 比如60天前,Oracle中直接就是sysdate-60,Mysql中就不行。 对时间加减的函数是 加ADDDATE(),减SUBDATE(); select SUBDA... -
mysql字符串类型时间比较大小
2019-06-17 14:18:39这里记录一个最近遇到的mysql字符串类型时间的问题 数据结构: |year(int)| month(int)| |2016 | 7 | |2016 |10| 使用CONCAT_WS拼接时间为yyyy-m格式,返回的是字符串类型 注:经测试字符串时间yyyy-m与yyyy-m单独... -
MySQL比较时间(datetime)大小
2021-01-19 01:05:18获取时间返回的秒数:strtotime('2019-05-10 00:00:00')遇到一个业务功能需要将当前时间与数据库中的会议开始、结束时间进行比较,记录一下,方便下次用。用unix_timestamp函数,将字符型的时间,转成unix时间戳。... -
MYSQL DATE_FORMAT() 函数时间大小比较
2021-01-19 04:05:08DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据。Sql代码DATE_FORMAT(date,format)可以使用的格式有:格式 描述%a缩写星期名%b缩写月名%c月,数值%D带有英文前缀的月中的天%d月的天,数值(00-31)%e月的天,... -
mysql 两个时间比较 其中一个可能为null 解决办法
2017-10-11 20:36:12mysql 两个时间比较 其中一个可能为null SELECT * FROM ( SELECT qi.id,qci.id comment_id,qi.question_time, if(qi.question_time>IFNULL(qci.comment_time,0),qi.question_time,qci.comment_time) newest_time ...