zoukankan      html  css  js  c++  java
  • Mysql 求时间 between 昨天 and 上个月的今天 等时间函数

    问题:

    Mysql表中一列create_time,类型datetime(YYYY-MM-DD HH:MM:SS),想获取上个月今天到昨天的数据。

    select * from 表名 where date_format(create_time,'%Y-%m-%d') between date_sub(curdate(),interval 1 MONTH) and date_sub(curdate(),interval 1 day)

    仔细研究了下,Mysql有很多时间类型。

    /*今天*/
    select * from 表名 where to_days(时间字段) = to_days(now());
    /*昨天*/
    select * from 表名 where to_days(now())-to_days(时间字段) = 1;
    /*近7天*/
    select * from 表名 where date_sub(curdate(), interval 7 day) <= date(时间字段);
    /*查询距离当前现在6个月的数据*/
    select * from 表名 where 时间字段 between date_sub(now(),interval 6 month) and now();
    /*查询当前这周的数据*/
    select * from 表名 where yearweek(date_format(时间字段,'%Y-%m-%d')) = yearweek(now());
    /*查询上周的数据*/
    select * from 表名 where yearweek(date_format(时间字段,'%Y-%m-%d')) = yearweek(now())-1;
    /*查询当前月份的数据*/
    select * from 表名 where date_format(时间字段,'%Y-%m')=date_format(now(),'%Y-%m');
    /*查询上个月的数据*/
    select * from 表名 where date_format(时间字段,'%Y-%m')=date_format(date_sub(curdate(), interval 1 month),'%Y-%m');

  • 相关阅读:
    JS常见异常
    Spring boot 的 @Value注解读取配置文件中的00开头的字符串
    常用网址
    IntelliJ使用教程
    eclipse
    swagger
    Mybatis
    Linux常用命令
    阿里云短信
    Flink Checkpoint-轻量级分布式快照
  • 原文地址:https://www.cnblogs.com/SunnyZhu/p/5498594.html
Copyright © 2011-2022 走看看