• MySQL日期函数


    MySQL日期函数

    1、DATE()

    返回 日期。格式:YYYY-MM-DD

    SELECT DATE(NOW());
    > 2022-04-04
    
    • 1
    • 2

    2、TIME()

    返回 日期。格式:HH-mm-ss

    SELECT TIME(NOW());
    > 16:25:09
    
    • 1
    • 2

    3、TIMESTAMP()

    返回 日期时间。格式:YYYY-MM-DD HH-mm-ss

    SELECT TIMESTAMP(NOW());
    > 2022-04-04 16:31:12
    
    • 1
    • 2

    4、NOW()、CURRENT_TIMESTAMP、CURRENT_TIMESTAMP()、SYSDATE()

    select NOW(),CURRENT_TIMESTAMP,CURRENT_TIMESTAMP();
    > 2022-04-04 16:40:03	2022-04-04 16:40:03	2022-04-04 16:40:03
    
    • 1
    • 2

    这里需要注意前三者都是**返回语句执行开始执行的时间**,后者**SYSDATE()不同返回的是这个函数执行时候的时间**

    select SLEEP(1),NOW(),CURRENT_TIMESTAMP,CURRENT_TIMESTAMP(),SYSDATE();
    > 0 2022-04-04 16:42:22	2022-04-04 16:42:22	2022-04-04 16:42:22	2022-04-04 16:42:23
    
    • 1
    • 2

    这里可以看到我们利用sleep(1),让sql延时了一秒得到前三者与seelp(1)的区别SYSDATE()明显比NOW()这些多一秒,所以我们可以知道 预期结果是延时前后now()函数对应的时间不变,sysdate()的时间等于之前的时间加上延时时间

    5、STR_TO_DATE()

    根据指定的格式,将字符串转交成对应的日期或日期类型

    例1、
    SELECT STR_TO_DATE('2022-04-04 22:50:17','%Y-%m-%d');
    > 2022-04-04
    没有时分秒时这里就忽略显示了
    
    例2、
    SELECT STR_TO_DATE('2022-04-04 22:50:17','%Y-%m-%d %H');
    > 2022-04-04 22:00:00
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    6、DATE_FORMAT()

    将日期根据指定的格式返回为对应的字符串
    更多日期格式

    例1、
    SELECT DATE_FORMAT('2022-04-04 22:50:17','%Y-%m-%d');
    > 2022-04-04
    
    例2、
    SELECT DATE_FORMAT('2022-04-04 22:50:17','%Y-%m-%d %H');
    > 2022-04-04 22
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    7、UNIX_TIMESTAMP()

    获取日期的时间戳(10位)

    SELECT unix_timestamp(now());
    > 1649083817
    
    • 1
    • 2

    8、FROM_UNIXTIME

    根据时间戳(10位)返回日期

    例1、
    SELECT FROM_UNIXTIME(1649087115)
    > 2022-04-04 23:45:15
    
    例2、加上第二个参数 格式化
    SELECT FROM_UNIXTIME(1649087115,'%Y-%m-%s')
    > 2022-04-15
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    9、其他日期函数

    函数名

    描述

    样例

    结果

    NOW()

    获取当前日期 格式’yyyy-MM-dd HH:mm:ss’

    select NOW();

    2022-04-04 22:50:17

    CURDATE()

    获取当前日期 格式’yyyy-MM-dd’

    select CURDATE();

    2022-04-04

    CURTIME()

    获取当前日期 格式’HH:mm:ss’

    select CURTIME();

    22:50:17

    CURRENT_TIMESTAMP()

    获取当前日期 格式’yyyy-MM-dd HH:mm:ss’

    select CURRENT_TIMESTAMP();

    2022-04-04 22:50:17

    CURRENT_DATE()

    获取当前日期 格式’yyyy-MM-dd’

    select CURRENT_DATE();

    2022-04-04

    CURRENT_TIME()

    获取当前日期 格式’HH:mm:ss’

    select CURRENT_TIME();

    22:50:17

    CURRENT_TIMESTAMP

    获取当前日期 格式’yyyy-MM-dd HH:mm:ss’

    select CURRENT_TIMESTAMP;

    2022-04-04 22:50:17

    CURRENT_DATE

    获取当前日期 格式’yyyy-MM-dd’

    select CURRENT_DATE;

    2022-04-04

    CURRENT_TIME

    获取当前日期 格式’HH:mm:ss’

    select CURRENT_TIME;

    22:50:17

    SYSDATE()

    获取这个函数的执行时间 格式’yyyy-MM-dd HH:mm:ss’

    select SYSDATE;

    2022-04-04 22:50:17

    YEAR()

    获取年份

    select YEAR(NOW()) ;

    2022

    MONTH()

    获取月份

    select MONTH(NOW())

    4

    DAYOFMONTH()

    获取在月份中所在的天数

    select DAYOFMONTH(NOW())

    4

    DAYOFYEAR()

    获取在年中所在的天数

    select DAYOFYEAR(NOW())

    94

    WEEKDAY()

    获取日期是星期几 (0-代表星期一、1-代表星期二)

    select WEEKDAY(NOW());

    0

    DAYOFWEEK()

    获取日期是星期几 (1-代表星期天、2-代表星期一)

    select DAYOFWEEK(NOW());

    2

    WEEKOFYEAR()

    获取日期是年中的第几周

    select WEEKOFYEAR(NOW());

    14

    TO_DAYS()

    获取从0000-00-00到日期的天数

    SELECT TO_DAYS(NOW());

    738614

    HOUR()

    获取小时

    SELECT HOUR(NOW());

    22

    MINUTE()

    获取分钟

    SELECT MINUTE(NOW());

    50

    SECOND()

    获取秒

    SELECT SECOND(NOW());

    17

    10、日期格式

    格式

    描述

    %Y

    年,4 位

    %y

    年,2 位

    %M

    月 英文表示 January

    %b

    月 英文缩写表示 Apr

    %m

    月,数值(00-12)

    %c

    月,数值(0-12)

    %d

    月的天,数值(00-31)

    %e

    月的天,数值(0-31)

    %j

    年的天 (001-366)

    %H

    小时 (00-23)

    %I

    小时 (01-12) 0时代表12 1时代表1

    %k

    小时 (0-23)

    %i

    分钟,数值(00-59)

    %S

    秒(00-59)

    %s

    秒(00-59)

    %f

    微秒

    %T

    时间, 24-小时 (hh:mm:ss)

    %r

    时间,12-小时(hh:mm:ss AM 或 PM)

    %p

    AM 或 PM

    %a

    星期名缩写 例如Mon

    %W

    星期名 例如Monday

    %w

    周的天 (0=星期日, 6=星期六)

    %U

    周 (00-53) 星期日是一周的第一天

    %u

    周 (00-53) 星期一是一周的第一天

    %V

    周 (01-53) 星期日是一周的第一天,与 %X 使用

    %v

    周 (01-53) 星期一是一周的第一天,与 %x 使用

    %X

    年,其中的星期日是周的第一天,4 位,与 %V 使用

    %x

    年,其中的星期一是周的第一天,4 位,与 %v 使用

  • 相关阅读:
    LIO-SAM源码解析(五):mapOptmization.cpp
    TCP/IP五层协议栈(2)
    直播背后的原理是?初识视频流协议 HLS 和 RTMP
    IT创业网赚项目 - 越垂直越赚钱,这个思维价值连城。
    解锁新技能《Redis ACL SETUSER命令》
    前后端通信 —— HTTP/HTTPS
    Wireshark不同报文颜色的含义
    Vue3执行流程思路分析-流程图
    python学生管理系统-面向对象版
    AcWing 4713:反转字符串
  • 原文地址:https://blog.csdn.net/web18224617243/article/details/126037073