mysql年月日增加_MySQL年月日

0.前言

最近写SQL语句的过程中,遇到了很多与年月日相关的问题,特此记录如下:

1.函数介绍

1.1 获取系统当前年月日SELECT CURRENT_DATE;

AAffA0nNPuCLAAAAAElFTkSuQmCC

1.2 为某一个时间,增加或者减少年月日SELECT

CURRENT_DATE 今天,    date_add( CURRENT_DATE, INTERVAL 1 DAY ) 明天,    date_add( CURRENT_DATE, INTERVAL 1 MONTH ) 下个月今天 ,    date_add( CURRENT_DATE, INTERVAL 1 YEAR ) 明年今天,    date_add( CURRENT_DATE, INTERVAL - 1 YEAR ) 去年今天;

AAffA0nNPuCLAAAAAElFTkSuQmCC

1.3 截取某个时间的年月日SELECT

NOW(),    date(NOW());

AAffA0nNPuCLAAAAAElFTkSuQmCC

1.4分别获取某个时间的年月日SELECT

NOW( ),    YEAR ( NOW( ) ),    MONTH ( NOW( ) ),    DAY ( NOW( ) );

AAffA0nNPuCLAAAAAElFTkSuQmCC

2.应用场景

2.1获取当天记录数SELECT

count( 主键)

FROM

`表名` WHERE

条件

AND  时间戳字段> CURRENT_DATE

AND 时间戳字段

2.2 统计今天之前一周的记录数(包括今天)SELECT

count( 主键)

FROM

`表名` WHERE

条件

AND 时间戳字段> date_add( CURRENT_DATE, INTERVAL -6 DAY )

AND 时间戳字段

因此改良版为:SELECT

count( CASE WHEN 时间戳字段 > CURRENT_DATE

AND 时间戳字段 

THEN 主键 END ) 'day_0',            count( CASE WHEN 时间戳字段 > date_add( CURRENT_DATE, INTERVAL - 1 DAY )                         AND 时间戳字段 

THEN 主键  END ) 'day_1',

count( CASE WHEN 时间戳字段 > date_add( CURRENT_DATE, INTERVAL - 2 DAY )                         AND 时间戳字段 

THEN 主键  END ) 'day_2',            count( CASE WHEN 时间戳字段 > date_add( CURRENT_DATE, INTERVAL - 3 DAY )                         AND 时间戳字段 

THEN 主键 END ) 'day_3',            count( CASE WHEN 时间戳字段 > date_add( CURRENT_DATE, INTERVAL - 4 DAY )                         AND 时间戳字段 

THEN 主键 END ) 'day_4',            count( CASE WHEN 时间戳字段 > date_add( CURRENT_DATE, INTERVAL - 5 DAY )                         AND 时间戳字段 

THEN 主键 END ) 'day_5',            count( CASE WHEN 时间戳字段 > date_add( CURRENT_DATE, INTERVAL - 6 DAY )                         AND 时间戳字段 

THEN 主键 END ) 'day_6'

FROM

表名

WHERE

条件            AND 时间戳字段 > date_add( CURRENT_DATE, INTERVAL -6 DAY )

AND 时间戳字段 

作者:新手村的0级玩家

链接:https://www.jianshu.com/p/1f38a5f811c0

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值