zoukankan      html  css  js  c++  java
  • mysql查询时间段

    前言

    阅读需要 3 分钟

    内容:mysql 时间段查询、一些时间的类型、及常用时间函数

    几个日期类型

    日期类型 存储空间 日期格式 日期范围
    datetime 8 bytes YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59
    timestamp 4 bytes YYYY-MM-DD HH:MM:SS 1970-01-01 00:00:01 ~ 2038
    date 3 bytes YYYY-MM-DD 1000-01-01 ~ 9999-12-31
    year 1 bytes YYYY 1901 ~ 2155
    
    CREATE TABLE `t_ian_test` (
                              `id` bigint(20) NOT NULL,
                              `name` varchar(64) NOT NULL,
                              `startTime` datetime NOT NULL,
                              `endTime` datetime NOT NULL,
                              PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    
    INSERT INTO `t_ian_test` VALUES (1, '牛', '2018-01-21 10:20:09', '2018-01-21 10:20:09');
    INSERT INTO `t_ian_test` VALUES (2, '年', '2021-01-29 10:20:30', '2021-01-29 10:20:30');
    INSERT INTO `t_ian_test` VALUES (3, '大', '2021-01-28 19:47:37','2021-01-28 19:47:37');
    INSERT INTO `t_ian_test` VALUES (4, '吉', '2021-01-28 19:51:01','2021-01-28 19:51:01');
    

    查询时间段

    查询 28 号这天的所有数据 - fail

    select * from t_ian_test where  startTime between '2021-01-28' and '2021-01-28';
    
    select * from t_ian_test where  startTime between '2021-01-28 00:00:00' and '2021-01-28 00:00:00';
    
    

    查询 28 号这天的所有数据 - success

    select * from t_ian_test where  startTime between '2021-01-28 19:47:37' and '2021-01-28 19:51:01';
    

    查询 28 号这天的所有数据 - success

    select * from t_ian_test where  startTime between '2021-01-28' and '2021-01-29';
    

    查询 28 号这天的所有数据 - success

    select * from t_ian_test where startTime between '2021-01-28' and date_add('2021-01-28', interval 1 day);
    

    获取系统当前时间的函数:

    select CURDATE();

    select NOW();

    获取时间差的函数:

    period_diff()

    datediff(date1,date2)

    timediff(time1,time2)

    日期加减函数:

    date_sub() 、adddate()、addtime()、period_add(P,N)

    # 加1天
    select date_add(now(), interval 1 day);
    
    #加1小时
    select date_add(now(), interval 1 hour);
    
    # 加1分钟
    select date_add(now(), interval 1 minute);
    
    #加1秒
    select date_add(now(), interval 1 second);
    
    #加1毫秒
    select date_add(now(), interval 1 microsecond);
    
    #加1周
    select date_add(now(), interval 1 week);
    
    #加1月
    select date_add(now(), interval 1 month);
    
    #加1季
    select date_add(now(), interval 1 quarter);
    
    #加1年
    select date_add(now(), interval 1 year);
    
    

    时间格式转化函数:

    date_format(date, format)

    str_to_date(str, format)

    unix_timestamp()

    from_unixtime(unix_timestamp, format)

  • 相关阅读:
    纪中第三天
    纪中第一天
    图片验证码的实现
    使用监听器解决路径问题
    log4j测试示例
    redis示例
    kafka示例
    CSRF verification failed. Request aborted.
    TemplateDoesNotExist
    创建 django 项目命令
  • 原文地址:https://www.cnblogs.com/uniquezhangqi/p/14348741.html
Copyright © 2011-2022 走看看