zoukankan      html  css  js  c++  java
  • mysql 日期处理函数


    首先创建一张实验用的一张表

    drop table if exists t_student;
    
    create table t_student(
      id int primary key auto_increment,
      name varchar(20) not null comment '姓名',
      birthday date comment '生日'
    )Engine=InnoDB default charset utf8;
    
    
    insert into t_student values(null,'tom','1992-02-03');
    insert into t_student values(null,'jerry','1993-02-06');
    insert into t_student values(null,'hank','1993-03-05');
    insert into t_student values(null,'xiaoming',now());


        其中date 类型 是记录mysql 精确日期的类型


    now() 函数
        获取当前时间

        

    year() , month(),dayofmonth()
        上面三个函数是分别从一个日期或者时间中提取出年 ,月 ,日
         比如 想得到生日为2月份的学生
         select * from t_student where month(birthday) = 2;

        

    monthname() 函数

     输出个月份的英文单词
        select monthname(birthday) from t_student;

        

    timestampdiff() 函数
        比较两个日期间的差值
        例:学生的年龄
        select timestampdiff(year,birthday ,now()) as age from t_student;

        

         timestampdiff 函数的第一个参数为 计算结果的单位: 有year(年) month(月),day(日) 等等。

    to_days()
        将日期转换成天数
        计算两个时间的天数,同timestampdiff(day,arg1,arg2) 是一个道理。
        查询生日小于当前日期60以内的学生
        select * from t_student where (to_days(now()) - to_days(birthday)) < 60;

        


    date_add 和 date_sub
         根据一个日期 ,计算出另一个日期, date_add 是加上 date_sub 是减去
         select date_add('1970-1-1', interval 10 year); # 1970 年 加上10年

        

       

         select date_sub ('1970-1-1', interval 10 year); #1970年减去10年

      

         

    请关于一下啦^_^

    微信公众号

  • 相关阅读:
    【刷题】BZOJ 1061 [Noi2008]志愿者招募
    【比赛】NOIP2017 列队
    react_app 项目开发 (6)_后台服务器端-node
    react_app 项目开发 (5)_前后端分离_后台管理系统_开始
    react_app 项目开发 (3)_单页面设计_react-router4
    react_app 项目开发 (2)_axios_pubsub-js
    react_app 项目开发
    React_基本原理_ajax
    React_生命周期
    组件化
  • 原文地址:https://www.cnblogs.com/haloujava/p/11184875.html
Copyright © 2011-2022 走看看