zoukankan      html  css  js  c++  java
  • MYSQL-------日期函数以及查询时间、求时间差、预测生日

    #now()
    返回当前系统日期+时间
    
    
    #curdate()
    返回当前系统日期,不包含时间
    
    
    #curtime()
    返回当前时间,不包含日期
    
    
    #获取指定部分,年月日小时分钟秒(结合NOW(),常量也可以)
    SELECT YEAR(NOW())
    SELECT YEAR(列名)
    
    SELECT MONTH(NOW())中文月份
    SELECT MONTHNAME(NOW())英文的月份
    ---以此类举
    
    
    #str_to_date:将日期格式的字符转换成指定格式的日期
    STR_TO_DATE('9-13-1999','%m-%d-%Y')   1999-09-13
    #date_format:将日期转换成字符
    DATE_FORMAT('2019/5/19','%Y年%m月%d日')   2018年06月06日


    #求日期差函数
    1.DATEDIFF()
    SELECT DATEDIFF(NOW(),'XXXX-X-X') --第一个参数减去第二个参数

      2.TIMESTAMPDIFF(要求的年或月或日,表日期,当前日期)
      年可以计算年龄,但是月与日是直接统计从出生到现在的月份,所以不可以用来预测生日
      SELECT name, birth, CURDATE(),
      -> TIMESTAMPDIFF(YEAR,birth,CURDATE()) AS age
      -> FROM pet; 如果当前日期的日历年比出生日期早,则减去一年。(自动计算)

    #预测下一个月生日的人的信息
    此方法对于12月份+1到一月份,而不是13月份
    不管当前月份是什么它都能执行。因此不必在查询中使用一个特定的月份,DATE_ADD()允许在一个给定的日期上加上时间间隔。如果在NOW()值上加上一个月,然后用MONTH()提取月份,
    产生生日所在月份: mysql
    > SELECT name, birth FROM pet -> WHERE MONTH(birth) = MONTH(DATE_ADD(CURDATE(),INTERVAL 1 MONTH)); (INTERVAL是时间间隔)
  • 相关阅读:
    Oracle、Db2、SqlServer、MySQL 数据库插入当前系统时间
    Mybatis---在控制台打印sql语句
    多线程实现的四种方法
    Restful架构
    maven中的pom配置文件一——spring,mybatis,oracle,jstl,json,文件上传
    spring mvc配置
    spring的事务
    cglib动态代理
    jdk动态代理
    spring总结————AOP面向切面总结
  • 原文地址:https://www.cnblogs.com/god-for-speed/p/10893454.html
Copyright © 2011-2022 走看看