sql 当前时间跟数据库字段做比较

mysql 时间比较

1、查询是否过期:
    $is_out = M("bonus_type")->where('type_id = '.$id.' AND UNIX_TIMESTAMP(NOW()) > use_end_date')->find(); //如果有数据代表过期了。

2、今日数据:
    $where = ' AND FROM_UNIXTIME(conas.ctime, "%Y-%m-%d" ) =  CURDATE()';

3、七天内数据:
    $where = ' AND DATE_SUB(CURDATE(), INTERVAL 7 DAY) <=  FROM_UNIXTIME( conas.ctime, "%Y-%m-%d" )';

转 自网上的写法:

1、今日:
    select * from 表名 where to_days(时间字段名) = to_days(now());

2、昨日:
    SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) <= 1

37天:
    SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(时间字段名)

4、进30天:
    SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(时间字段名)

5、本月:
    SELECT * FROM 表名 WHERE DATE_FORMAT( 时间字段名, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )

6、上一月:
    SELECT * FROM 表名 WHERE PERIOD_DIFF( date_format( now( ) , '%Y%m' ) , date_format( 时间字段名, '%Y%m' ) ) =1

7、是否超过5分钟:
    $notGetArr = M("zj_winprize")->where('(UNIX_TIMESTAMP(CURRENT_TIMESTAMP()) - `time` > 300) AND state = 0')->select(); 

最近30天

    //最近30收益
    $profit = M('xxx')->where("DATE_SUB(CURDATE(), INTERVAL 30 DAY)<=FROM_UNIXTIME(receiptTime,'%Y-%m-%d') AND expressstatu=4 AND tasterId=".$this->userInfo['id'])->sum('wine_taster_comiss');
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值