• <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>

    Mysql基礎函數,常用日期時間函數詳解

    MySQL供給了年夜量豐碩的函數,在MySQL的利用中經常會用到各類函數,本文講解的是常見的MySQL的日期與時候函數,本家兒要用于處置日期和時候值。

    東西/原料

    • 電腦
    • mysql情況
    • Navicat等數據庫可視化辦理東西

    方式/步調

    1. 1

      1.獲取當前日期和當前時候的函數

      CURDATE()或CURRENT_DATE():獲取當前日期函數,返回值按“YYYY-MM-DD”或"YYYYMMDD"格局,格局按照函數在字符串或是數字語境而心猿意馬

      CURTIME()或CURRENT_TIME():獲取當前時候,返回值按“HH:MM:SS”或"HHMMSS"格局,格局按照函數在字符串或是數字語境而心猿意馬

      示例

      SELECT CURDATE(),CURDATE()+0,CURRENT_DATE(),CURTIME(),CURTIME()+0,CURRENT_TIME();

    2. 2

      2.獲取當前日期+時候的函數

      CURRENT_TIMESTAMP()或LOCALTIME()或NOW()或SYSDATE():獲取當前日期+時候的函數,返回值按“YYYY-MM-DD HH:MM:SS”或"YYYYMMDDHHMMSS"格局,格局按照函數在字符串或是數字語境而心猿意馬

      示例

      SELECT CURRENT_TIMESTAMP(),LOCALTIME(),NOW(),SYSDATE(),CURRENT_TIMESTAMP()+0,LOCALTIME()+0,NOW()+0,SYSDATE()+0;

    3. 3

      3.通俗時候戳轉UNIX時候戳,UNIX時候戳轉通俗時候戳函數

      UNIX_TIMESTAMP([d]):通俗時候格局轉UNIX時候戳,d為可選項,不填的時辰返當前時候戳

      FROM_UNIXTIME(str):UNIX時候戳轉為通俗時候格局。

      示例

      SELECT UNIX_TIMESTAMP(),UNIX_TIMESTAMP(NOW()),NOW(),FROM_UNIXTIME(UNIX_TIMESTAMP());

    4. 4

      4.返回UTC(宿世界尺度時候)日期的函數,返回UTC時候的函數,返回值按“YYYY-MM-DD”或"YYYYMMDD"格局,格局按照函數在字符串或是數字語境而心猿意馬

      UTC_DATE():返回UTC(宿世界尺度時候)日期的函數

      UTC_TIME():返回UTC(宿世界尺度時候)時候的函數

      示例

      SELECT UTC_DATE(),UTC_TIME(),UTC_DATE()+0,UTC_TIME()+0;

    5. 5

      5.獲取月份的函數

      MONTH(d):獲取日期d的月份,阿拉伯值

      MONTHNAME(d):獲取日期d的月份,英文值

      示例

      SELECT MONTH(NOW()),MONTHNAME(NOW());

    6. 6

      6.獲取禮拜的函數

      DAYNAME(d):獲取日期d的英文名稱

      DAYOFWEEK(d):獲取日期d在一周中的索引,1-周日,2-周一.....7-周六

      WEEKDAY(d):也是獲取日期d在一周中的索引,可是索引位置有所分歧,0-周一,1-周二...6-周日

      示例

      SELECT DAYNAME(NOW()),DAYOFWEEK(NOW()),WEEKDAY(NOW());

    7. 7

      7.獲取當前是一年中的第幾個禮拜函數

      WEEK(d,mode):計較某天位于一年中的第幾個禮拜,規模是0-53或1-53

      WEEKOFYEAR(d,mode):計較某天位于一年中的第幾個禮拜,規模是1-53,半斤八兩于WEEK(d,3);

      mode 的規模

      0 - 周日 - 0~53 - 今年度中有一個周日

      1 - 周一 - 0~53 - 今年度有3天以上

      2 - 周日 - 1~53 - 今年度中有一個周日

      3 - 周一 - 1~53 - 今年度有3天以上

      4 - 周日 - 0~53 - 今年度有3天以上

      5 - 周一 - 0~53 - 今年度有1個周一

      6 - 周日 - 1~53 - 今年度有3天以上

      7 - 周一 - 1~53 - 今年度有1個周一

      示例

      SELECT NOW(),WEEK(NOW()),WEEK(NOW(),0),WEEK(NOW(),1),WEEK(NOW(),3),WEEKOFYEAR(NOW());

    8. 8

      8.獲取天數函數

      DOYORYEAR(d):獲取日時候d是一年中的第幾天,規模是1-366

      DOYOFMONTH(d):獲取日期時候d是當月中的第幾天,規模是1-31

      DAYOFWEEK(d):獲取日期時候d是當周中的第幾天,規模是1-7,周日為1,周六為7

      示例

      SELECT NOW(),DAYOFYEAR(NOW()),DAYOFMONTH(NOW()),DAYOFWEEK(NOW());

    9. 9

      9.計較日期的函數

      DATE_ADD(d,INTERVAL expr type):日期加運算,type格局見下文

      ADDDATE(d,INTERVAL expr type):日期加運算,type格局見下文

      DATE_SUB(d,INTERVAL expr type):日期減運算,type格局見下文

      SUBDATE(d,INTERVAL expr type):日期減運算,type格局見下文

      ADDTIME(d,expr):時候加運算

      SUBTIME(d,expr):時候減運算

      DATEDIFF(d1,d2):兩個日時代的距離天數

      type的格局

      SECOND 秒 SECONDS 

      MINUTE 分鐘 MINUTES 

      HOUR 時候 HOURS 

      DAY 天 DAYS 

      MONTH 月 MONTHS 

      YEAR 年 YEARS 

      MINUTE_SECOND 分鐘和秒 "MINUTES:SECONDS" 

      HOUR_MINUTE 小時和分鐘 "HOURS:MINUTES" 

      DAY_HOUR 天和小時 "DAYS HOURS" 

      YEAR_MONTH 年和月 "YEARS-MONTHS" 

      HOUR_SECOND 小時, 分鐘, "HOURS:MINUTES:SECONDS" 

      DAY_MINUTE 天, 小時, 分鐘 "DAYS HOURS:MINUTES" 

      DAY_SECOND 天, 小時, 分鐘, 秒 "DAYS HOURS:MINUTES:SECONDS"

      示例

      SELECT NOW(),DATE_ADD(NOW(),INTERVAL 2 DAY),ADDDATE(NOW(),INTERVAL 300 SECOND);#當前時候添加兩天,添加300秒

      SELECT NOW(),DATE_SUB(NOW(),INTERVAL 1 MONTH),SUBDATE(NOW(),INTERVAL 300 MINUTE);#當前時候削減一個月,削減300分鐘

      SELECT NOW(),ADDTIME(NOW(),'1:1:1'),SUBTIME(NOW(),'2:2:2');#當前時候添加1小時1分1秒,當前時候削減2小時2分2秒

      SELECT NOW(),DATEDIFF(NOW(),DATE_ADD(NOW(),INTERVAL 1 YEAR));#計較當前時候與一年后當前時候的日期差

    10. 10

      10.日期格局化函數

      日期格局化通配符申明

      %a : 工作日的縮寫(Sun,Mon,...Sat)

      %b : 月份的縮寫(Jun,Feb,...,Dec)

      %c : 數字形式的月份(1,...,12)

      %D : 帶有英文后綴的該月日期(1st,2nd,3rd....)

      %d : 數字形式的日期,不足兩位前方補零(01,02,...,31)

      %e : 數字形式的日期(1,...,31)

      %f : 微秒

      %H : 以24小時制暗示當前是幾多點,不足兩位前方補零(01,02,...,24)

      %h,%I: 以12小時制暗示當前是幾多點,不足兩位前方補零(01,02,...,12)

      %i : 數字形式的分鐘(00,01,...,59)

      %j : 一年中的第幾天(001,...,366)

      %k : 以24小時制暗示當前是幾多點(1,2,...,24)

      %l : 以12小時制暗示當前是幾多點(1,2,...,12)

      %M : 月份名稱(Junuary,...,December)

      %m : 月份名稱數字形式(01,...,12)

      %p : AM/PM

      %r : 時候(12小時制,如9:00:00 AM)

      %S,%s : 秒的數字形式(00,01,...,59)

      %T : 時候(24小時制,如9:00:00)

      %U : 第幾周(00,53),周日為第一天

      %u : 第幾周(00,53),周一為第一天

      %V : 第幾周(01,53),周一為第一天,和%X一路利用

      %v : 第幾周(01,53),周一為第一天,和%x一路利用

      %W : 工作日名稱(周日,周一...)

      %w : 一周中的每日(0=周日...6=周六)

      %X : 該周的年份,周日為第一天,數字形式4位數,和%V一路用

      %x : 該周的年份,周一為第一天,數字形式4位數,和%v一路用

      %Y : 4位數字形式的年份

      %y : 2位數字形式的年份

      %% :%符號

      DATE_FORMAT():日期格局化函數

      示例

      SELECT DATE_FORMAT(NOW(),'%Y %m %d'),DATE_FORMAT(NOW(),'%X %V');

    注重事項

    • 本文并沒有講解所有的時候日期函數,而是挑了部門常用的講解。
    • 學無盡頭
    • 發表于 2018-10-06 00:00
    • 閱讀 ( 1393 )
    • 分類:其他類型

    你可能感興趣的文章

    相關問題

    0 條評論

    請先 登錄 后評論
    聯系我們:uytrv@hotmail.com 問答工具
  • <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>
    久久久久精品国产麻豆