MySQL日期时间函数知识汇总

MySQL日期时间函数知识汇总,第1张

MySQL日期时间函数知识汇总 目录
  • 1. 获取时间
  • 2. 日期与时间戳的转换
  • 3. 获取月份、星期、星期数、天数等函数
  • 4. 日期的操作函数
  • 5. 时钟和秒钟转换的函数
  • 6. 计算日期和时间的函数
    • 6.1 计算时间间隔
    • 6.2 时间计算
  • 7. 日期的格式化与解析

    1. 获取时间 函数功能返回格式CURDATE(), CURRENT_DATE()返回当前日期,只包含年、月、日2022-03-08CURTIME(), CURRENT_TIME()返回当前时间,只包含时、分、秒19:35:46NOW(), SYSDATE(), CURRENT_TIMESTAMP(), LOCALTIME(), LOCALTIMESTAMP()返回当前系统日期和时间2022-03-08 19:37:07UTC_DATE()返回UTC(世界标准时间)日期2022-03-08UTC_TIME()返回UTC(世界标准时间)时间11:38:52

    2. 日期与时间戳的转换 函数功能返回格式UNIX_TIMESTAMP(), UNIX_TIMESTAMP(NOW())以UNIX时间戳的形式返回当前时间1646739875FROM_UNIXTIME(1646739875)将UNIX时间戳转换为普通时间格式2022-03-08 19:44:35

    3. 获取月份、星期、星期数、天数等函数 函数功能返回格式YEAR(NOW()),/MONTH(NOW()),/DAY(NOW())返回年/月/日2022/3/8HOUR(NOW()), /MONTH(NOW()), /DAY(NOW())返回时/分/秒19/3/8MONTHNAME(NOW())返回英文月份MarchDAYNAME(NOW())返回星期几TuesdayWEEKDAY(NOW())返回周几(从0开始)1(星期二)QUARTER(NOW())返回日期对应的季度,范围1-41WEEK(NOW()), WEEKOFYEAR(NOW())返回一年中的第几周10DAYOFYEAR(NOW())返回一年中的第几天67DAYOFMONTH(NOW())返回所在月份中的第几天8DAYOFWEEK(NOW())返回周几(周日为1)3(星期二)

    4. 日期的操作函数
    -- 返回指定日期中的特定部分,type指定返回的值;
    SELECT EXTRACT(TYPE FROM NOW()) FROM DUAL;

    TYPE的含义与取值:

    type取值含义返回值MICROSECOND返回毫秒数 SECOND返回秒数12MINUTE返回分钟数25HOUR返回小时数20(24小时制)DAY返回天数8WEEK返回日期在一年中的第几个星期10MONTH返回日期在一年中的第几个月3QUARTER返回日期在一年中和第几个季度1YEAR返回日期的年份2022SECOND_MICROSECOND返回秒和毫秒值34000000MINUTE_MICROSECOND返回分钟和毫秒值3716000000MINUTE_SECOND返回分钟和秒值3851(2022-03-08 20:38:51)HOUR_MICROSECOND返回小时和毫秒值203944000000(2022-03-08 20:39:44)HOUR_SECOND返回小时和秒值204025(2022-03-08 20:40:25)HOUR_MINUTE返回小时和分钟值2040(2022-03-08 20:40:52)DAY_MICROSECOND返回天和毫秒值204126000000(2022-03-08 20:41:26)DAY_SECOND返回天和秒值204208(2022-03-08 20:42:08)DAY_MINUTE返回天和分钟值2043(2022-03-08 20:43:17)DAY_HOUR返回天和小时20(2022-03-08 20:43:54)YEAR_MONTH返回年和月202203(2022-03-08 20:44:23)

    5. 时钟和秒钟转换的函数
    -- 将time转化为秒并返回结果值,转化公式为:小时*3600*分钟*69+秒
    SELECT TIME_TO_SEC('2022-03-08 20:44:23')
    FROM DUAL;
    -- 转换结果:74663
    
    -- seconds转化为时分秒
    SELECT SEC_TO_TIME(74663) FROM DUAL;  
    -- 转换结果:20:44:23

    6. 计算日期和时间的函数

    6.1 计算时间间隔 函数功能备注DATE_ADD(datetime, INTERVAL expr type),ADDDATE(datetime, INTERVAL expr type)计算时间间隔(时间增加)expr表示时间间隔,type值见下表DATE_SUB(datetime, INTERVAL expr type),SUBDATE(datetime, INTERVAL expr type)计算时间间隔(时间减少)expr表示时间间隔,type值见下表

    举例:

    SELECT DATE_ADD('2022-03-08 20:43:54', INTERVAL 2 DAY) AS A FROM DUAL;
    SELECT ADDDATE('2022-03-08 20:43:54', INTERVAL 2 DAY) AS B FROM DUAL;
    -- 返回相同结果:2022-03-10 20:43:54
    
    
    SELECT DATE_SUB('2022-03-08 20:43:54', INTERVAL 2 DAY) C FROM DUAL;
    SELECT SUBDATE('2022-03-08 20:43:54', INTERVAL 2 DAY) D FROM DUAL;
    -- 返回相同结果:2022-03-06 20:43:54
    
    
    -- 间隔两和类型的时间时可以用冒号和下划线,要用单引号
    SELECT DATE_ADD('2022-03-08 20:43:54', INTERVAL '2:2' DAY_HOUR ) AS A FROM DUAL;
    SELECT DATE_ADD('2022-03-08 20:43:54', INTERVAL '2_2' DAY_HOUR ) AS A FROM DUAL;
    -- 返回相同结果:2022-03-10 22:43:54

    type值如下表:

    type间隔类型含义HOUR小时MINUTE分钟SECOND秒YEAR年MONTH月DAY日YEAR_MONTH年和月DAY_HOUR日和小时DAY_MINUTE日和分钟DAY_SECOND日和秒HOUR_MINUTE小时和分钟HOUR_SECOND小时和秒MINUTE_SECOND分钟和秒

    6.2 时间计算 函数功能返回格式ADDTIME(time1, expr)添加expr到time1并返回结果2022-03-09 21:44:55SUBTIME(time2, expr)time1减去expr并返回结果2022-03-07 19:42:53DATEDIFF(time1, time2)返回time1与time2的日期间隔(time1-time2)-1(天)TIMEDIFF(time1, time2)返回time1与time2的时间间隔(time1-time2)26:03:45(时分秒)FROM_DAYS(N)返回从0000年1月1日起,N天以后的日期0002-09-27TO_DAYS(time)返回时间time距离0000年1月1日的天数738588LAST_DAY(time)返回time所在月份的最后一天的日期2022-03-31MAKEDATE(year, n)针对给定年份与所在年份中的天数返回一个日期2022-04-10MAKETIME(h, m, s)将给定的小时、分钟和秒组合成时间并返回10:20:33PERIOD_ADD(time,n)此函数将给定时期的给定月份数添加到格式YYMM或YYYYMM中20220309

    举例:

    SELECT DATE_ADD('2022-03-08 20:43:54', INTERVAL '2:2' DAY_HOUR ) AS A FROM DUAL;
    -- 返回:2022-03-10 22:43:54
    
    SELECT ADDTIME('2022-03-08 20:43:54', '1 1:1:1') FROM DUAL;
    -- 返回:2022-03-09 21:44:55
    
    SELECT SUBTIME('2022-03-08 20:43:54', '1 1:1:1') FROM DUAL;
    -- 返回:2022-03-07 19:42:53
    
    SELECT DATEDIFF('2022-03-08 20:43:54', '2022-03-09 20:43:54') AS A FROM DUAL;
    -- 返回:-1
    
    SELECT TIMEDIFF('2022-03-09 20:43:54', '2022-03-08 18:40:09') AS B FROM DUAL;
    -- 返回:26:03:45
    
    SELECT FROM_DAYS(1000) FROM DUAL;
    -- 返回:0002-09-27
    
    SELECT TO_DAYS('2022-03-09 20:43:54') FROM DUAL;
    -- 返回:738588
    
    SELECT LAST_DAY('2022-03-09 20:43:54') FROM DUAL;
    -- 返回:2022-03-31
    
    SELECT MAKEDATE(2022, 100) FROM DUAL;
    -- 返回:2022-04-10
    
    SELECT MAKETIME(10, 20, 33) FROM DUAL;
    -- 返回:10:20:33
    
    SELECT PERIOD_ADD(20220308,1) FROM DUAL;
    -- 返回:20220309

    7. 日期的格式化与解析 函数功能返回格式DATE_FORMAT(date,fmt)按照字符串fmt格式化日期date值 TIME_FORMAT(time,fmt)按照字符串fmt格式化时间time值 STR_TO_DATE(str, fmt)按照字符串fmt对str进行解析,解析为一个日期 

    fmt格式如下:

    格式符说明格式符说明%Y4位数字表示年份%y表示两位数字的年份%M月名表示月份(January,....)%m两位数字表示月份%b缩写的月名(Jan.,Feb.,....)%d两位数字表示月中的天数%D英文后缀表示月中的天数(1st,2nd,3rd,...)%c数字表示月份(1,2,3。。)%e数字形式表示月中的天数(1,2,3,4,5.....)%h两位数字表示小时,12小时制(01,02。。)%H两位数字表示小数,24小时制(01,02..)%l数字形式表示小时,12小时制(1,2。。)%k数字形式的小时,24小时制(1,2,3)%S和%s两位数字表示秒(00, 01, 02。。)%i两位数字表示分钟(00,01,02)%a一周中的星期缩写(Sun)%W一周中的星期名称(Sunday...)  %w以数字表示周中的天数(0=Sunday,1=Monday....)  %j以3位数字表示年中的天数(001,002...)%U以数字表示年中的第几周,(1,2,3。。)其中Sunday为周中第一天%u以数字表示年中的第几周,(1,2,3。。)其中Monday为周中第一天  %T24小时制%r12小时制%pAM或PM%%表示%

    举例如下:

     SELECT DATE_FORMAT(NOW(), '%H:%i:%s');
     -- 返回结果:09:58:12
    函数功能返回格式GET_FORMAT(date_type,format_type)返回日期字符串的显示格式 

    format_type取值如下:

    举例如下:

     SELECT GET_FORMAT(DATE, 'USA');
     -- 返回:%m.%d.%Y

    到此这篇关于MySQL日期时间函数知识汇总的文章就介绍到这了,更多相关MySQL日期时间函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    欢迎分享,转载请注明来源:内存溢出

    原文地址:https://outofmemory.cn/sjk/2997234.html

    (0)
    打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
    上一篇 2022-09-26
    下一篇2022-09-26

    随机推荐

    • 网络用语下头、下头B是什么意思

      下头,网络用语,有扫兴,破坏已有气氛,泼冷水的意思。做事情正高兴的时候,却被泼了一瓢冷水,打破了原本的好心情。比如约朋友出门玩的时候,朋友说了一句扫兴的话,让心情降到了冰点,这就可以称为“下头”。再举

    • 岚语是什么语言

      岚语,这是一门由bilibili UP 主五十岚上夏创造的语言,岚语又叫做英格岚语,核心要义就是读英语的方式读出中文。最近在抖音又掀起了一阵“岚语”,从之前的郭言郭语到现在岚语,网友们玩得越来越嗨了。

      2022-12-06
      000
    • 知乎上蟹妖是什么意思

      蟹妖,网络用语,是“谢邀”的谐音,谢谢邀请的简写。谢邀,是“谢谢邀请”的意思。该梗的完整句式是“谢邀,人在美国,刚下飞机”该梗是出自国内著名的问答社区知乎,是一个标准的装X语句,常‌‌‌‌‌‌‌‌见于

      2022-12-06
      000
    • 那你去找物管啊

      那你去找物管啊,来源:主播孙笑川的名场面,在一次直播中与邻居吵架时的经典语录。因为邻居嫌他直播时说话声音太大吼了两句,孙笑川却觉得邻居无理取闹,并且态度不好,在直播中就和邻居大吵了起来,对邻居大骂:“

      2022-12-06
      100
    • 钮祜禄氏熹妃是谁

      《甄嬛传》是近几年盛行的宫斗剧中比较成功的一部,获奖无数,还被译成英语出口欧美。女主演孙俪也曾因为这部剧获得国际艾美奖提名的殊荣,要知道艾美奖在电视剧界的地位

      2022-12-06
      000
    • 孙悟空的性格特点

      孙悟空的性格特点敢于担当,敢作敢为,乐于助人,有勇有谋,忠诚,机智,活泼,暴躁。孙悟空是中国著名的神话人物之一,唐僧的三个徒弟中,孙悟空的本领最大。他出自四大名著之《西游记》。《西游记》与《三国演义》

      2022-12-06
      000
    • 丹朱是什么人

       丹朱姓伊祁、名源明,字监明,号丹朱,中国上古部落联盟首领尧的长子。司马迁的《史记·五帝本纪》里说:“尧辟位凡二十八年而崩。百姓悲哀,如丧父母。三年,四方莫举乐,以思尧。尧知子丹朱之不肖,不足以授天下

      2022-12-06
      000
    • 孙膑是怎么死的

      据历史记载,孙膑是功成身退。隐居后病死或无疾而终。马陵之役,齐军大破魏军。魏军主帅庞涓自杀,魏太子被生俘。齐国取代魏国,成为霸主。但是,齐国内部却产生了矛盾。丞相邹忌嫉妒大将田忌功劳,阴谋陷害其谋反。

      2022-12-06
      000
    • 皮皮虾怎么煮

      煮皮皮虾如果选择的是高压锅,一般煮两到三分钟就可以。如果选择的是普通的锅,那么大概需要煮十分钟左右。在煮皮皮虾的时候要注意,千万不要用冷水下锅,这样煮出来的味道会变得比较差,煮皮皮虾的时候可以放入生姜

      2022-12-06
      000

    发表评论

    登录后才能评论

    评论列表(0条)

      保存