• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

mysql 日期比较函数

mysql 搞代码 4年前 (2022-01-09) 42次浏览 已收录 0个评论

在mysql中有着大量的日期与时间比较函数,下面我来给大家简单介绍一些常用的日期比较函数的用法与sql语句,大家可参考参考。

下面的查询选择了所有记录,其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

例子1

假如有个表product有个字段add_time,它的数据类型为datetime,有人可能会这样写sql:

代码如下复制代码

select * from product where add_time = ‘2013-01-12’

对于这种语句,如果你存储的格式是YY-mm-dd是这样的,那么OK,如果你存储的格式是:2013-01-12 23:本文来源gaodai#ma#com搞@代~码^网+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常用日期函数

NOW() 返回当前的日期和时间
CURDATE() 返回当前的日期
CURTIME() 返回当前的时间
DATE() 提取日期或日期/时间表达式的日期部分
EXTRACT() 返回日期/时间按的单独部分
DATE_ADD() 给日期添加指定的时间间隔
DATE_SUB() 从日期减去指定的时间间隔
DATEDIFF() 返回两个日期之间的天数
DATE_FORMAT() 用不同的格式显示日期/时间


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:mysql 日期比较函数

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址