mysql 查询 当天,本周, 指定周 ,最近n天的,当月,指定月,本年,上年...

-- 当天

1 select * from 表名 where to_days(字段名) = to_days(now());

2 select * from 表名 where  字段名 = 具体某天

3.select * from 表名 where date(date_format(字段名,'%Y-%m-%d')) = date_format(now(),'%Y-%m-%d');

-- 本周  yearweek()那周   date_format()格式化

SELECT * FROM 表名 WHERE YEARWEEK(date_format(字段名,'%Y-%m-%d')) = YEARWEEK(date_format(NOW(),'%Y-%m-%d') );

-- 指定周

SELECT *  FROM 表名 WHERE YEARWEEK(date_format(字段名,'%Y-%m-%d')) = YEARWEEK(date_format(指定日期,'%Y-%m-%d') );

-- 最近n天(必须用 now()  函数,用其他日期就不是最近几天) DATE_SUB()  间隔n天前的某个日期

SELECT * FROM 表名 where DATE_SUB(now(), INTERVAL n DAY) <= date(字段名)

-- 当月    date_format( 字段名, '%Y%m' ) 格式必须是这样

SELECT * FROM 表名 WHERE PERIOD_DIFF( date_format( NOW() , '%Y%m' ) , date_format( 字段名, '%Y%m' ) ) = 0

-- 上个月 (1 =1 表示上一个月,2 = 2 表示上两个月 ,依次类推)

SELECT * FROM 表名 WHERE PERIOD_DIFF( date_format( NOW() , '%Y%m' ) , date_format( 字段名, '%Y%m' ) ) = 1

-- 指定月

SELECT * FROM  表名 WHERE PERIOD_DIFF( date_format(指定, '%Y%m' ) , date_format( 字段名, '%Y%m' ) ) = 0

-- 当年

1. SELECT * FROM 表名 WHERE YEAR(date_format(字段名,'%Y-%m-%d')) = YEAR(date_format(NOW(),'%Y-%m-%d'));

2. SELECT YEAR(字段名),YEAR(NOW()) FROM spworklist WHERE YEAR(字段名) = YEAR(NOW());

-- 指定年

SELECT * FROM 表名 WHERE YEAR(date_format(字段名,'%Y-%m-%d')) = YEAR(date_format(指定日期,'%Y-%m-%d'));

例子

SELECT * FROM 表名 WHERE YEAR(date_format(字段名,'%Y-%m-%d')) = YEAR(date_format('2017-11-10','%Y-%m-%d'));












  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值