• 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 使用

  • 相关阅读:
    数据安全之重点技术总结
    4.cuBLAS开发指南中文版--CUDA 数据类型引用
    UE5像素流送详细教程,以及解决黑边和鼠标消失问题
    MATLAB | 如何绘制高斯混合分布分类区域及边界
    反射、枚举和lambda表达式
    Android App活动页面
    天堂2游戏出错如何解决
    两台电脑连接时,A电脑可以ping通B电脑,而B电脑pingA电脑时出现超时问题,解决:
    PDF文件如何编辑?这两种方法是我一直在用的
    alibaba.fastjson的使用(五)-- Json数组字符串 ==》 JSONArray
  • 原文地址:https://blog.csdn.net/web18224617243/article/details/126037073