zoukankan      html  css  js  c++  java
  • MySQL的CURRENT_DATE(),NOW(),DATE_FORMAT()函数的应用,类型转换及操作汇总

    内容简介

    datetime类型和timestamp类型的取值范围,CURRENT_DATE()函数应用,NOW()函数应用,DATE_FROMAT()函数取星期,日期、字符串、时间戳相互转换等。

    时间范围

    datetime类型范围:1000-01-01 00:00:00 ~ 9999-12-31 23:59:59

    timestamp类型范围:1970-01-01 08:00:01 ~ 2038-01-19 11:14:07

    CURRENT_DATE()函数

    #获取当前日期
    SELECT CURRENT_DATE() AS newDate;    #2019-05-20
    #当前日期加1天(其他天数方法一样)
    SELECT DATE_ADD(CURRENT_DATE(), INTERVAL 1 DAY) AS newDate;    #2019-05-21
    #当前日期减1天
    SELECT DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) AS newDate;   #2019-05-19
    #当前日期加1个月
    SELECT DATE_ADD(CURRENT_DATE(), INTERVAL 1 MONTH) AS newDate;  #2019-06-20
    #当前日期减1个月
    SELECT DATE_ADD(CURRENT_DATE(), INTERVAL -1 MONTH) AS newDate; #2019-04-20
    #当前日期加1年
    SELECT DATE_ADD(CURRENT_DATE(), INTERVAL 1 YEAR) AS newDate;   #2020-05-20
    #当前日期减1年
    SELECT DATE_ADD(CURRENT_DATE(), INTERVAL -1 YEAR) AS newDate;  #2018-05-20
    
    #指定日期加1天(可将DAY换为MONTH,YEAR来实现加1个月,1年)
    SELECT DATE_ADD('2019-05-02', INTERVAL 1 DAY) AS newDate;    #2019-05-03
    #指定日期减1天(可将DAY换为MONTH,YEAR来实现减1个月,1年)
    SELECT DATE_ADD('2019-05-02', INTERVAL -1 DAY) AS newDate;   #2019-05-01
    
    #当前时间添加1小时10分钟10秒钟
    SELECT DATE_ADD(NOW(), INTERVAL '1:10:10' HOUR_SECOND) AS newTime;    #2019-05-20 15:59:32
    #指定时间添加1小时10分钟10秒钟
    SELECT DATE_ADD('2019-04-17 2:00:00', INTERVAL '1:10:10' HOUR_SECOND) AS newTime;    #2019-04-17 03:10:10

    NOW()函数

    #获取当前时间
    SELECT NOW() AS newTime;    #2019-05-20 14:28:41
    #当前时间减30秒
    SELECT (NOW() - INTERVAL 30 SECOND) AS newTime;    #2019-05-20 14:29:31
    #当前时间加30秒
    SELECT (NOW() + INTERVAL 30 SECOND) AS newTime;    #2019-05-20 14:29:31
    #当前时间减30分钟
    SELECT (NOW() - INTERVAL 30 MINUTE) AS newTime;    #2019-05-20 14:02:26
    #当前时间加30分钟
    SELECT (NOW() + INTERVAL 30 MINUTE) AS newTime;    #2019-05-20 15:02:41
    #当前时间减1天
    SELECT (NOW() - INTERVAL 1 DAY) AS newTime;        #2019-05-19 14:33:26
    #当前时间加1天
    SELECT (NOW() + INTERVAL 1 DAY) AS newTime;        #2019-05-21 14:33:33
    #当前时间减1个月
    SELECT (NOW() - INTERVAL 1 MONTH) AS newTime;        #2019-04-20 14:34:10
    #当前时间加1个月
    SELECT (NOW() + INTERVAL 1 MONTH) AS newTime;        #2019-06-20 14:34:47
    #当前时间减1年
    SELECT (NOW() - INTERVAL 1 YEAR) AS newTime;        #2018-05-20 14:35:09
    #当前时间加1年
    SELECT (NOW() + INTERVAL 1 MONTH) AS newTime;        #2019-06-20 14:35:23
    
    #指定时间的加减,将上面的NOW()函数换为指定日期时间即可,以加30分钟为例,如下:
    SELECT ('2019-01-02 12:30:00' + INTERVAL 30 MINUTE) AS newTime;        #2019-01-02 13:00:00

    日期取星期几

    # 1:星期一 2:星期二 3:星期三 4:星期四 5:星期五 6:星期六 0:星期日
    SELECT DATE_FORMAT('2019-05-20','%w') AS weekDay FROM DUAL;    #1
    
    # 2:星期一 3:星期二 4:星期三 5:星期四 6:星期五 7:星期六 1:星期日
    SELECT DAYOFWEEK('2019-05-20') AS weekDay;     #2
    
    # 0:星期一 1:星期二 2:星期三 3:星期四 4:星期五 5:星期六 6:星期日
    SELECT WEEKDAY('2019-05-20') AS weekDay;    #0
    
    #可将具体日期换为CURRENT_DATE()函数取当前日期,如下:
    SELECT DATE_FORMAT(CURRENT_DATE(),'%w') AS weekDay FROM DUAL;
    SELECT DAYOFWEEK(CURRENT_DATE()) AS weekDay; 
    SELECT WEEKDAY(CURRENT_DATE()) AS weekDay;

    类型转换

    日期、字符串、时间戳互转转换请参考:MYSQL日期 字符串 时间戳互转

  • 相关阅读:
    Windows 8实例教程系列 开篇
    qt 开发发布于 windeploy.exe
    qt qoci 测试验证
    vmware vmx 版本不兼容
    qt oracle
    vc qt dll
    QOCIDriver unable to create environment
    qoci 编译完 放置位置 具体根据情况
    calling 'lastError' with incomplete return type 'QSqlError' qsqlquer
    Hbase 操作工具类
  • 原文地址:https://www.cnblogs.com/codecat/p/10894292.html
Copyright © 2011-2022 走看看