Bạn đang xem : hoạt động ngày trong mysql

  • ADDTIME ( expr1 , expr2 )

    ADDTIME () thêm
    expr2 thành
    expr1 và trả về kết quả.
    expr1 là thời gian hoặc ngày giờ
    biểu thức và expr2 là thời gian
    biểu hiện. Trả về NULL nếu
    expr1 hoặc
    expr2 NULL .

    Bắt đầu với MySQL 8.0.28, kiểu trả về của hàm này
    và của hàm SUBTIME ()
    được xác định như sau:

    • Nếu đối số đầu tiên là một tham số động (chẳng hạn như trong
      câu lệnh chuẩn bị), kiểu trả về là
      TIME .

    • Nếu không, kiểu đã phân giải của hàm được dẫn xuất
      từ loại đã giải quyết của đối số đầu tiên.

      mysql & gt; CHỌN ADDTIME ('2007-12-31 23: 59: 59.999999', '1 1: 1: 1.000002');
            - & gt; '2008-01-02 01: 01: 01.000001'
    mysql & gt; CHỌN ADDTIME ('01: 00: 00.999999 ', '02: 00: 00.999998');
            - & gt; '03: 00: 01.999997'  
  • CURDATE ()

    Trả về ngày hiện tại dưới dạng giá trị trong
    ' YYYY-MM-DD ' hoặc
    Định dạng YYYYMMDD , tùy thuộc vào
    cho dù hàm được sử dụng trong ngữ cảnh chuỗi hay số.

      mysql & gt; CHỌN CURDATE ();
            - & gt; '2008-06-13'
    mysql & gt; CHỌN CURDATE () + 0;
            - & gt; 20080613  
  • CURTIME ([ fsp ])

    Trả về thời gian hiện tại dưới dạng giá trị trong
    'hh: mm: ss' hoặc
    Định dạng hhmmss , tùy thuộc vào việc
    hàm được sử dụng trong ngữ cảnh chuỗi hoặc số. Giá trị
    được thể hiện trong múi giờ phiên.

    Nếu đối số fsp được cấp cho
    chỉ định độ chính xác giây phân số từ 0 đến 6, kết quả trả về
    giá trị bao gồm một phần giây phân số của nhiều chữ số đó.

      mysql & gt; CHỌN CURTIME ();
    + ----------- +
    | CURTIME () |
    + ----------- +
    | 19:25:37 |
    + ----------- +
    
    mysql & gt; CHỌN CURTIME () + 0;
    + --------------- +
    | CURTIME () + 0 |
    + --------------- +
    | Năm 192537 |
    + --------------- +
    
    mysql & gt; CHỌN CURTIME (3);
    + -------------- +
    | CURTIME (3) |
    + -------------- +
    | 19: 25: 37.840 |
    + -------------- +  
  • DATE ( expr )

    Trích xuất phần ngày của biểu thức ngày tháng hoặc ngày giờ
    expr . Lợi nhuận
    NULL nếu expr
    NULL .

      mysql & gt; CHỌN NGÀY ('2003-12-31 01:02:03');
            - & gt; '2003-12-31'  
  • DATEDIFF ( expr1 , expr2 )

    DATEDIFF () trả về
    expr1
    expr2 được biểu thị dưới dạng giá trị tính bằng ngày
    từ ngày này sang ngày khác. expr1
    expr2 là ngày tháng hoặc ngày giờ
    biểu thức. Chỉ các phần ngày tháng của các giá trị được sử dụng trong
    phép tính.

     mysql & gt; CHỌN DATEDIFF ('2007-12-31 23:59:59', '2007-12-30');
            - & gt; 1
    mysql & gt; CHỌN DATEDIFF ('2010-11-30 23:59:59', '2010-12-31');
            - & gt; -31  

    Hàm này trả về NULL nếu
    expr1 hoặc
    expr2 NULL .

  • DATE_ADD ( date , INTERVAL
    expr
    đơn vị )
    ,
    DATE_SUB ( date , INTERVAL
    expr
    đơn vị )

    Các hàm này thực hiện số học ngày tháng. Các
    Đối số date chỉ định
    ngày bắt đầu hoặc giá trị ngày giờ.
    expr là một biểu thức chỉ định
    giá trị khoảng thời gian được thêm vào hoặc trừ đi từ đầu
    ngày. expr được đánh giá là
    sợi dây; nó có thể bắt đầu bằng - cho âm
    các khoảng thời gian. unit là một từ khóa
    chỉ ra các đơn vị trong đó biểu thức phải là
    đã diễn giải.

    Để biết thêm thông tin về cú pháp khoảng thời gian, bao gồm
    danh sách đầy đủ các mã định danh unit ,
    dạng mong đợi của đối số expr
    cho mỗi giá trị đơn vị và các quy tắc cho
    giải thích toán hạng trong số học thời gian, xem
    Khoảng thời gian .

    Giá trị trả về phụ thuộc vào các đối số:

    • Nếu date
      NULL , hàm trả về
      NULL .

    • DATE nếu
      Đối số date là một
      DATE giá trị của bạn
      các phép tính chỉ liên quan đến YEAR ,
      Phần THÁNG NGÀY
      (nghĩa là không có phần thời gian).

    • (MySQL 8.0.28 trở lên 🙂
      TIME nếu
      Đối số date là một
      Giá trị TIME và các phép tính liên quan đến
      chỉ GIỜ , PHÚT ,
      và phần SECONDS (nghĩa là không có ngày
      các bộ phận).

    • DATETIME nếu là người đầu tiên
      đối số là DATETIME (hoặc
      Giá trị TIMESTAMP ) hoặc nếu
      đối số đầu tiên là DATE
      và giá trị unit sử dụng
      GIỜ , PHÚT hoặc
      SECONDS hoặc nếu đối số đầu tiên là
      TIME
      đơn vị sử dụng giá trị
      NĂM , THÁNG hoặc
      NGÀY .

    • (MySQL 8.0.28 trở lên 🙂 Nếu
      đối số đầu tiên là một tham số động (ví dụ:
      câu lệnh chuẩn bị), loại đã giải quyết của nó là
      DATE nếu đối số thứ hai là
      khoảng thời gian có chứa một số kết hợp của
      NĂM , THÁNG hoặc
      DAY chỉ các giá trị; nếu không, loại của nó là
      DATETIME .

    • Chuỗi khác (loại VARCHAR ).

    Ghi chú

    Trong MySQL 8.0.22 đến 8.0.27, khi được sử dụng ở chế độ chuẩn bị
    các câu lệnh, các hàm này trả về
    Các giá trị DATETIME bất kể đối số
    các loại. (Lỗi # 103781)

    Để đảm bảo rằng kết quả là
    DATETIME , bạn có thể sử dụng
    CAST () để chuyển đổi đầu tiên
    đối số cho DATETIME .

      mysql & gt; SELECT DATE_ADD ('2018-05-01', INTERVAL 1 NGÀY);
            - & gt; '2018-05-02'
    mysql & gt; SELECT DATE_SUB ('2018-05-01', INTERVAL 1 NĂM);
            - & gt; '2017-05-01'
    mysql & gt; CHỌN DATE_ADD ('2020-12-31 23:59:59',
        - & gt; INTERVAL 1 GIÂY);
            - & gt; '2021-01-01 00:00:00'
    mysql & gt; CHỌN DATE_ADD ('2018-12-31 23:59:59',
        - & gt; INTERVAL 1 NGÀY);
            - & gt; '2019-01-01 23:59:59'
    mysql & gt; CHỌN DATE_ADD ('2100-12-31 23:59:59',
        - & gt; INTERVAL '1: 1' MINUTE_SECOND);
            - & gt; '2101-01-01 00:01:00'
    mysql & gt; CHỌN DATE_SUB ('2025-01-01 00:00:00',
        - & gt; INTERVAL '1 1: 1: 1' DAY_SECOND);
            - & gt; '2024-12-30 22:58:59'
    mysql & gt; CHỌN DATE_ADD ('1900-01-01 00:00:00',
        - & gt; INTERVAL '-1 10' DAY_HOUR);
            - & gt; '1899-12-30 14:00:00'
    mysql & gt; SELECT DATE_SUB ('1998-01-02', INTERVAL 31 NGÀY);
            - & gt; '1997-12-02'
    mysql & gt; CHỌN DATE_ADD ('1992-12-31 23: 59: 59.000002',
        - & gt; INTERVAL '1,999999' SECOND_MICROSECOND);
            - & gt; '1993-01-01 00: 00: 01.000001'  
  • DATE_FORMAT ( date , format )

    Định dạng giá trị date theo
    chuỗi định dạng . Nếu một trong hai
    đối số là NULL , hàm trả về
    NULL .

    Các thông số kỹ thuật hiển thị trong bảng sau đây có thể được sử dụng trong
    định dạng chuỗi. Các
    Ký tự % là bắt buộc trước khi định dạng
    ký tự xác định. Các chỉ định áp dụng cho các chức năng khác
    cũng như: STR_TO_DATE () ,
    TIME_FORMAT () ,
    UNIX_TIMESTAMP () .

    Người chỉ định
    Sự mô tả

    % a
    Tên ngày trong tuần viết tắt
    ( CN .. Sat )

    % b
    Tên tháng viết tắt ( Tháng 1 .. Tháng 12 )

    % c
    Tháng, số ( 0 .. 12 )

    % D
    Ngày trong tháng có hậu tố tiếng Anh ( thứ 0 ,
    Thứ nhất , Thứ hai ,
    thứ 3 ,…)

    % d
    Ngày trong tháng, dạng số ( 00 .. 31 )

    % e
    Ngày trong tháng, số ( 0 .. 31 )

    % f
    Microseconds ( 000000 .. 999999 )

    % H
    Giờ ( 00 .. 23 )

    % h
    Giờ ( 01 .. 12 )

    % I
    Giờ ( 01 .. 12 )

    % i
    Phút, số ( 00 .. 59 )

    % j
    Ngày trong năm ( 001 .. 366 )

    % k
    Giờ ( 0 .. 23 )

    % l
    Giờ ( 1 .. 12 )

    % M
    Tên tháng ( Tháng 1 .. Tháng 12 )

    % m
    Tháng, số ( 00 .. 12 )

    % p
    AM hoặc PM
    % r
    Thời gian, 12 giờ ( hh: mm: ss theo sau là
    AM hoặc PM )

    % S
    Giây ( 00 .. 59 )

    % s
    Giây ( 00 .. 59 )

    % T
    Thời gian, 24 giờ ( hh: mm: ss )

    % U
    Tuần ( 00 .. 53 ), trong đó Chủ nhật là
    ngày đầu tiên trong tuần;
    WEEK () chế độ 0

    % u
    Tuần ( 00 .. 53 ), trong đó Thứ Hai là
    ngày đầu tiên trong tuần;
    WEEK () chế độ 1

    % V
    Tuần ( 01 .. 53 ), trong đó Chủ nhật là
    ngày đầu tiên trong tuần;
    WEEK () chế độ 2; được sử dụng với
    % X
    % v
    Tuần ( 01 .. 53 ), trong đó Thứ Hai là
    ngày đầu tiên trong tuần;
    WEEK () chế độ 3; được sử dụng với
    % x
    % W
    Tên ngày trong tuần ( Chủ nhật .. Thứ bảy )

    % w
    Ngày trong tuần
    ( 0 = Chủ nhật .. 6 = Thứ Bảy)

    % X
    Năm cho tuần trong đó Chủ nhật là ngày đầu tiên của tuần, dạng số,
    Bốn con số; được sử dụng với % V
    % x
    Năm trong tuần, trong đó Thứ Hai là ngày đầu tiên của tuần, ở dạng số,
    Bốn con số; được sử dụng với % v
    % Y
    Năm, số, bốn chữ số

    % y
    Năm, số (hai chữ số)

    %%
    Một ký tự %

    % x
    x , cho bất kỳ

    x

    không được liệt kê
    ở trên

    Phạm vi cho các chỉ số tháng và ngày bắt đầu bằng 0 do
    thực tế là MySQL cho phép lưu trữ các ngày không đầy đủ
    chẳng hạn như '2014-00-00' .

    Ngôn ngữ được sử dụng cho tên ngày và tháng và chữ viết tắt là
    được kiểm soát bởi giá trị của
    lc_time_names biến hệ thống
    ( Phần 10.16, “Hỗ trợ ngôn ngữ máy chủ MySQL” ).

    Đối với % U , % u ,
    % V % v specifier,
    xem mô tả của
    Hàm WEEK () để biết thông tin
    về các giá trị chế độ. Chế độ ảnh hưởng đến cách đánh số tuần
    xảy ra.

    DATE_FORMAT () trả về một chuỗi
    với một bộ ký tự và đối chiếu được cung cấp bởi
    character_set_connection
    collation_connection để
    nó có thể trả về tên tháng và ngày trong tuần không chứa ASCII
    nhân vật.

      mysql & gt; SELECT DATE_FORMAT ('2009-10-04 22:23:00', '% W% M% Y');
            - & gt; 'Chủ nhật tháng 10 năm 2009'
    mysql & gt; SELECT DATE_FORMAT ('2007-10-04 22:23:00', '% H:% i:% s');
            - & gt; '22: 23: 00'
    mysql & gt; CHỌN DATE_FORMAT ('1900-10-04 22:23:00',
        - & gt; '% D% y% a% d% m% b% j');
            - & gt; 'Thứ 4 00 Thứ 4 ngày 10 Tháng 10 277'
    mysql & gt; CHỌN DATE_FORMAT ('1997-10-04 22:23:00',
        - & gt; '% H% k% I% r% T% S% w');
            - & gt; '22 22 10 10:23:00 PM 22:23:00 00 6'
    mysql & gt; SELECT DATE_FORMAT ('1999-01-01', '% X% V');
            - & gt; '1998 52'
    mysql & gt; CHỌN DATE_FORMAT ('2006-06-00', '% d');
            - & gt; '00'  
  • DAYOFMONTH ( date )

    Trả về ngày trong tháng cho
    ngày , trong phạm vi
    1 đến 31 hoặc
    0 cho những ngày chẳng hạn như
    '0000-00-00' hoặc
    '2008-00-00' có phần 0 ngày.
    Trả về NULL nếu
    date is NULL .

      mysql & gt; CHỌN DAYOFMONTH ('2007-02-03');
            - & gt; 3  
  • DAYOFWEEK ( date )

    Trả về chỉ mục ngày trong tuần cho date
    ( 1 = Chủ nhật, 2 = Thứ Hai,
    …, 7 = Saturday). Các giá trị chỉ mục này
    tương ứng với tiêu chuẩn ODBC. Lợi nhuận
    NULL nếu date
    NULL .

      mysql & gt; CHỌN DAYOFWEEK ('2007-02-03');
            - & gt; 7  
  • DAYOFYEAR ( date )

    Trả về ngày trong năm cho
    ngày , trong phạm vi
    1 đến 366 . Lợi nhuận
    NULL nếu date
    NULL .

      mysql & gt; CHỌN DAYOFYEAR ('2007-02-03');
            - & gt; 34  
  • EXTRACT ( đơn vị
    TỪ ngày )

    Hàm EXTRACT () sử dụng
    các loại thông số unit giống như
    DATE_ADD () hoặc
    DATE_SUB () , nhưng trích xuất các phần
    từ ngày chứ không phải thực hiện số học ngày. Vì
    thông tin về đối số unit ,
    xem Khoảng thời gian . Lợi nhuận
    NULL nếu date
    NULL .

      mysql & gt; CHỌN TRÍCH (NĂM TỪ '2019-07-02');
            - & gt; 2019
    mysql & gt; CHỌN CHIẾT XUẤT (NĂM_MONTH TỪ '2019-07-02 01:02:03');
            - & gt; 201907
    mysql & gt; CHỌN CHI TIẾT (DAY_MINUTE TỪ '2019-07-02 01:02:03');
            - & gt; 20102
    mysql & gt; CHỌN CHIẾT XUẤT (MICROSECOND
        - & gt; TỪ '2003-01-02 10: 30: 00.000123');
            - & gt; 123  
  • FROM_UNIXTIME ( unix_timestamp [, định dạng ])

    Trả về một đại diện của
    unix_timestamp dưới dạng ngày giờ hoặc
    giá trị chuỗi ký tự. Giá trị trả về được biểu thị bằng cách sử dụng
    múi giờ của phiên. (Khách hàng có thể đặt múi giờ phiên
    như được mô tả trong Phần 5.1.15, “Hỗ trợ Múi giờ Máy chủ MySQL” .)
    unix_timestamp là nội bộ
    giá trị dấu thời gian đại diện cho giây kể từ
    '1970-01-01 00:00:00' UTC, chẳng hạn như được sản xuất
    bởi UNIX_TIMESTAMP ()
    hàm số.

    Nếu format bị bỏ qua, hàm này
    trả về giá trị DATETIME .

    Nếu unix_timestamp hoặc
    định dạng NULL ,
    hàm này trả về NULL .

    Nếu unix_timestamp là một số nguyên,
    độ chính xác phân số giây của
    DATETIME bằng 0. Khi nào
    unix_timestamp là một giá trị thập phân,
    độ chính xác phân số giây của
    DATETIME giống với độ chính xác của
    giá trị thập phân, tối đa là 6. Khi
    unix_timestamp là một dấu phẩy động
    số, độ chính xác phân số giây của ngày giờ là 6.

    Trên nền tảng 32 bit, giá trị hữu ích tối đa cho
    unix_timestamp
    2147483647.999999, trả về '2038-01-19
    03: 14: 07.999999 '
    UTC. Trên nền tảng 64-bit đang chạy
    MySQL 8.0.28 trở lên, mức tối đa hiệu dụng là
    32536771199.999999, trả về '3001-01-18
    23: 59: 59.999999 '
    UTC. Bất kể nền tảng hoặc
    phiên bản, một giá trị lớn hơn cho
    unix_timestamp hiệu quả hơn
    trả về tối đa 0 .

    định dạng được sử dụng để định dạng kết quả
    theo cách tương tự như chuỗi định dạng được sử dụng cho
    Hàm DATE_FORMAT () . Nếu
    định dạng được cung cấp, giá trị
    trả về là VARCHAR .

      mysql & gt; CHỌN TỪ_UNIXTIME (1447430881);
            - & gt; '2015-11-13 10:08:01'
    mysql & gt; CHỌN TỪ_UNIXTIME (1447430881) + 0;
            - & gt; 20151113100801
    mysql & gt; CHỌN FROM_UNIXTIME (1447430881,
        - & gt; '% Y% D% M% h:% i:% s% x');
            - & gt; 'Ngày 13 tháng 11 năm 2015 10:08:01 năm 2015'  

    Ghi chú

    Nếu bạn sử dụng UNIX_TIMESTAMP ()
    FROM_UNIXTIME () tới
    chuyển đổi giữa các giá trị trong múi giờ không phải UTC và Unix
    giá trị dấu thời gian, chuyển đổi bị mất do
    ánh xạ không phải là một-một theo cả hai hướng. Để biết chi tiết,
    xem mô tả của
    Hàm UNIX_TIMESTAMP () .

  • GET_FORMAT ({DATE | TIME | DATETIME},
    {'EUR' | 'USA' | 'JIS' | 'ISO' | 'INTERNAL'})

    Trả về một chuỗi định dạng. Chức năng này hữu ích trong
    sự kết hợp với
    DATE_FORMAT ()
    Các hàm STR_TO_DATE () .

    Nếu định dạng
    NULL , hàm này trả về
    NULL .

    Các giá trị có thể có cho đối số thứ nhất và thứ hai cho kết quả
    trong một số chuỗi định dạng có thể có (đối với các từ chỉ định được sử dụng,
    xem bảng trong
    Hàm DATE_FORMAT ()
    sự mô tả). Định dạng ISO đề cập đến ISO 9075, không phải ISO 8601.

    Gọi hàm
    Kết quả

    GET_FORMAT (DATE, 'USA')
    '% m.% d.% y'
    GET_FORMAT (DATE, 'JIS')
    '% Y-% m-% d'
    GET_FORMAT (DATE, 'ISO')
    '% Y-% m-% d'
    GET_FORMAT (DATE, 'EUR')
    '% d.% m.% Y'
    GET_FORMAT (DATE, 'INTERNAL')
    '% Y% m% d'
    GET_FORMAT (DATETIME, 'USA')
    '% Y-% m-% d% H.% i.% s'
    GET_FORMAT (DATETIME, 'JIS')
    '% Y-% m-% d% H:% i:% s'
    GET_FORMAT (DATETIME, 'ISO')
    '% Y-% m-% d% H:% i:% s'
    GET_FORMAT (DATETIME, 'EUR')
    '% Y-% m-% d% H.% i.% s'
    GET_FORMAT (DATETIME, 'INTERNAL')
    '% Y% m% d% H% i% s'
    GET_FORMAT (TIME, 'Hoa Kỳ')
    '% h:% i:% s% p'
    GET_FORMAT (TIME, 'JIS')
    '% H:% i:% s'
    GET_FORMAT (TIME, 'ISO')
    '% H:% i:% s'
    GET_FORMAT (TIME, 'EUR')
    '% H.% i.% s'
    GET_FORMAT (TIME, 'INTERNAL')
    '% H% i% s'

    TIMESTAMP cũng có thể được sử dụng làm
    đối số đầu tiên
    GET_FORMAT () , trong trường hợp đó
    hàm trả về các giá trị tương tự như for
    DATETIME .

      mysql & gt; SELECT DATE_FORMAT ('2003-10-03', GET_FORMAT (DATE, 'EUR'));
            - & gt; '03 .10.2003'
    mysql & gt; SELECT STR_TO_DATE ('10 .31.2003', GET_FORMAT (DATE, 'USA'));
            - & gt; '2003-10-31'  
  • GIỜ ( time )

    Trả về giờ cho time . Các
    phạm vi của giá trị trả về là 0 đến
    23 cho các giá trị thời gian trong ngày. Tuy nhiên,
    phạm vi TIME giá trị trên thực tế
    lớn hơn nhiều, vì vậy HOUR có thể trả về giá trị
    lớn hơn 23 . Lợi nhuận
    NULL nếu time
    NULL .

      mysql & gt; CHỌN GIỜ ('10: 05: 03');
            - & gt; 10
    mysql & gt; CHỌN GIỜ ('272: 59: 59');
            - & gt; 272  
  • LAST_DAY ( ngày )

    Lấy giá trị ngày tháng hoặc ngày giờ và trả về giá trị tương ứng
    giá trị cho ngày cuối cùng của tháng. Lợi nhuận
    NULL nếu đối số không hợp lệ hoặc
    NULL .

      mysql & gt; CHỌN LAST_DAY ('2003-02-05');
            - & gt; '2003-02-28'
    mysql & gt; CHỌN LAST_DAY ('2004-02-05');
            - & gt; '2004-02-29'
    mysql & gt; CHỌN LAST_DAY ('2004-01-01 01:01:01');
            - & gt; '2004-01-31'
    mysql & gt; CHỌN LAST_DAY ('2003-03-32');
            - & gt; NULL  
  • MAKEDATE ( năm , dayofyear )

    Trả về giá trị ngày, năm nhất định và ngày trong năm.
    dayofyear phải lớn hơn 0 hoặc
    kết quả là NULL . Kết quả cũng là
    NULL nếu một trong hai đối số là
    NULL .

     mysql & gt; CHỌN MAKEDATE (2011,31), MAKEDATE (2011,32);
            - & gt; '2011-01-31', '2011-02-01'
    mysql & gt; CHỌN MAKEDATE (2011,365), MAKEDATE (2014,365);
            - & gt; '2011-12-31', '2014-12-31'
    mysql & gt; CHỌN MAKEDATE (2011,0);
            - & gt; NULL  
  • MAKETIME ( giờ , phút , giây ) < / span>

    Trả về giá trị thời gian được tính từ
    giờ ,
    phút
    các đối số thứ hai . Lợi nhuận
    NULL nếu bất kỳ đối số nào của nó là
    NULL .

    Đối số thứ hai có thể có
    phần phân đoạn.

      mysql & gt; CHỌN MAKETIME (12,15,30);
            - & gt; '12: 15: 30'  
  • MICROSECOND ( expr )

    Trả về micro giây từ biểu thức thời gian hoặc ngày giờ
    expr dưới dạng một số trong phạm vi từ
    0 đến 999999 . Lợi nhuận
    NULL nếu expr
    NULL .

      mysql & gt; CHỌN MICROSECOND ('12: 00: 00.123456');
            - & gt; 123456
    mysql & gt; CHỌN MICROSECOND ('2019-12-31 23: 59: 59.000010');
            - & gt; 10  
  • PHÚT ( time )

    Trả về phút cho time , trong
    range 0 đến 59 hoặc
    NULL nếu time
    NULL .

      mysql & gt; CHỌN PHÚT ('2008-02-03 10:05:03');
            - & gt; 5  
  • THÁNG ( ngày )

    Trả về tháng cho date , trong
    range 1 đến 12 cho
    Tháng 1 đến tháng 12 hoặc 0 cho các ngày chẳng hạn như
    '0000-00-00' hoặc
    '2008-00-00' có phần không tháng.
    Trả về NULL nếu
    date is NULL .

      mysql & gt; CHỌN THÁNG ('2008-02-03');
            - & gt; 2  
  • NGAY BÂY GIỜ ([ fsp ])

    Trả về ngày và giờ hiện tại dưới dạng giá trị trong
    ' YYYY-MM-DD
    hh: mm: ss
    '
    hoặc
    Định dạng YYYYMMDDhhmmss , tùy thuộc vào
    cho dù hàm được sử dụng trong ngữ cảnh chuỗi hay số. Các
    giá trị được biểu thị trong múi giờ phiên.

    Nếu đối số fsp được cấp cho
    chỉ định độ chính xác giây phân số từ 0 đến 6, kết quả trả về
    giá trị bao gồm một phần giây phân số của nhiều chữ số đó.

      mysql & gt; CHỌN NGAY ();
            - & gt; '2007-12-15 23:50:26'
    mysql & gt; CHỌN NGAY () + 0;
            - & gt; 20071215235026.000000  

    NOW () trả về một thời gian cố định
    cho biết thời gian mà câu lệnh bắt đầu
    hành hình. (Trong một hàm hoặc trình kích hoạt được lưu trữ,
    NOW () trả về thời gian tại đó
    hàm hoặc câu lệnh kích hoạt bắt đầu thực thi.)
    khác với hành vi đối với
    SYSDATE () , trả về
    thời gian chính xác mà nó thực thi.

      mysql & gt; CHỌN NGAY (), NGỦ (2), NGAY ();
    + --------------------- + ---------- + ---------------- ----- +
    | NGAY BÂY GIỜ () | NGỦ (2) | NGAY BÂY GIỜ () |
    + --------------------- + ---------- + ---------------- ----- +
    | 2006-04-12 13:47:36 | 0 | 2006-04-12 13:47:36 |
    + --------------------- + ---------- + ---------------- ----- +
    
    mysql & gt; CHỌN SYSDATE (), SLEEP (2), SYSDATE ();
    + --------------------- + ---------- + ---------------- ----- +
    | SYSDATE () | NGỦ (2) | SYSDATE () |
    + --------------------- + ---------- + ---------------- ----- +
    | 2006-04-12 13:47:44 | 0 | 2006-04-12 13:47:46 |
    + --------------------- + ---------- + ---------------- ----- +  

    Ngoài ra, câu lệnh SET TIMESTAMP
    ảnh hưởng đến giá trị được trả lại bởi
    NOW () nhưng không phải bởi
    SYSDATE () . Điều này có nghĩa rằng
    cài đặt dấu thời gian trong nhật ký nhị phân không ảnh hưởng đến
    lời gọi của SYSDATE () .
    Đặt dấu thời gian thành giá trị khác không gây ra mỗi
    lệnh gọi tiếp theo của NOW ()
    để trả về giá trị đó. Đặt dấu thời gian thành 0 lần hủy
    hiệu ứng này để NOW () một lần
    một lần nữa trả về ngày và giờ hiện tại.

    Xem mô tả cho
    SYSDATE () để biết thêm
    thông tin về sự khác biệt giữa hai chức năng.

  • PERIOD_ADD ( P , N )

    Thêm N tháng vào khoảng thời gian
    P (ở định dạng
    YYMM hoặc
    YYYYMM ). Trả về một giá trị trong
    định dạng YYYYMM .

    Ghi chú

    Đối số dấu chấm P
    không phải là giá trị ngày tháng.

    Hàm này trả về NULL nếu
    P hoặc N
    NULL .

      mysql & gt; CHỌN PERIOD_ADD (200801,2);
            - & gt; 200803  
  • PERIOD_DIFF ( P1 , P2 )

    Trả về số tháng giữa các khoảng thời gian
    P1
    P2 . P1
    P2 phải ở định dạng
    YYMM hoặc
    YYYYMM . Lưu ý rằng khoảng thời gian
    các đối số P1
    P2 không
    giá trị ngày tháng.

    Hàm này trả về NULL nếu
    P1 hoặc P2
    NULL .

      mysql & gt; CHỌN PERIOD_DIFF (200802,200703);
            - & gt; 11  
  • QUARTER ( ngày )

    Trả về quý trong năm cho
    ngày , trong phạm vi
    1 đến 4 hoặc
    NULL nếu date
    NULL .

      mysql & gt; CHỌN QUÝ ('2008-04-01');
            - & gt; 2  
  • SECOND ( time )

    Trả về giây thứ hai cho time , trong
    range 0 đến 59 hoặc
    NULL nếu time
    NULL .

      mysql & gt; CHỌN THỨ HAI ('10: 05: 03');
            - & gt; 3  
  • SEC_TO_TIME ( giây )

    Trả về đối số giây ,
    được chuyển đổi thành giờ, phút và giây, dưới dạng
    Giá trị TIME . Phạm vi của
    kết quả bị hạn chế bởi kết quả của
    TIME . Một lời cảnh báo
    xảy ra nếu đối số tương ứng với một giá trị bên ngoài
    phạm vi.

    Hàm trả về NULL nếu
    giây NULL .

      mysql & gt; CHỌN SEC_TO_TIME (2378);
            - & gt; '00: 39: 38 '
    mysql & gt; CHỌN SEC_TO_TIME (2378) + 0;
            - & gt; 3938  
  • STR_TO_DATE ( str , định dạng )

    Đây là nghịch đảo của
    Hàm DATE_FORMAT () . Nó
    lấy một chuỗi str và một định dạng
    chuỗi định dạng .
    STR_TO_DATE () trả về
    DATETIME giá trị nếu định dạng
    chuỗi chứa cả phần ngày và giờ, hoặc
    DATE hoặc
    TIME giá trị nếu chuỗi
    chỉ chứa các phần ngày tháng hoặc thời gian. Nếu
    str hoặc
    định dạng NULL ,
    hàm trả về NULL . Nếu ngày,
    thời gian hoặc giá trị ngày giờ được trích xuất từ
    str là bất hợp pháp,
    STR_TO_DATE () trả về
    NULL và đưa ra cảnh báo.

    Máy chủ quét str để cố gắng
    khớp định dạng với nó. Định dạng
    chuỗi có thể chứa các ký tự chữ và mã định dạng
    bắt đầu bằng % . Ký tự văn học trong
    định dạng phải khớp theo nghĩa đen trong
    str . Định dạng các chỉ định trong
    định dạng phải khớp với ngày hoặc giờ
    một phần trong str . Đối với các chỉ định
    có thể được sử dụng ở định dạng , hãy xem
    Hàm DATE_FORMAT ()
    sự mô tả.

      mysql & gt; CHỌN STR_TO_DATE ('01, 5,2013 ','% d,% m,% Y ');
            - & gt; '2013-05-01'
    mysql & gt; SELECT STR_TO_DATE ('Ngày 1 tháng 5 năm 2013', '% M% d,% Y');
            - & gt; '2013-05-01'  

    Quá trình quét bắt đầu ở đầu
    str và không thành công nếu
    Định dạng không khớp. Thêm
    các ký tự ở cuối str
    làm ngơ.

      mysql & gt; CHỌN STR_TO_DATE ('a09: 30: 17', 'a% h:% i:% s');
            - & gt; '09: 30: 17'
    mysql & gt; CHỌN STR_TO_DATE ('a09: 30: 17', '% h:% i:% s');
            - & gt; VÔ GIÁ TRỊ
    mysql & gt; CHỌN STR_TO_DATE ('09: 30: 17a ','% h:% i:% s ');
            - & gt; '09: 30: 17 ' 

    Các phần ngày hoặc giờ không xác định có giá trị bằng 0, vì vậy
    các giá trị được chỉ định không đầy đủ trong
    str tạo ra một kết quả với một số hoặc
    tất cả các phần được đặt thành 0:

      mysql & gt; CHỌN STR_TO_DATE ('abc', 'abc');
            - & gt; '0000-00-00'
    mysql & gt; CHỌN STR_TO_DATE ('9', '% m');
            - & gt; '0000-09-00'
    mysql & gt; CHỌN STR_TO_DATE ('9', '% s');
            - & gt; '00: 00: 09 ' 

    Kiểm tra phạm vi trên các phần của giá trị ngày được mô tả trong
    Phần 11.2.2, “Loại DATE, DATETIME và TIMESTAMP” . Ví dụ, điều này có nghĩa là
    Ngày “không” hoặc ngày có giá trị một phần là 0 là
    được phép trừ khi chế độ SQL được đặt để không cho phép các giá trị đó.

     mysql & gt; CHỌN STR_TO_DATE ('00 / 00/0000 ','% m /% d /% Y ');
            - & gt; '0000-00-00'
    mysql & gt; CHỌN STR_TO_DATE ('04 / 31/2004 ','% m /% d /% Y ');
            - & gt; '2004-04-31'  

    Nếu NO_ZERO_DATE chế độ SQL
    được kích hoạt, không cho phép ngày tháng. Trong trường hợp đó,
    STR_TO_DATE () trả về
    NULL và tạo cảnh báo:

      mysql & gt; SET sql_mode = '';
    mysql & gt; CHỌN STR_TO_DATE ('00 / 00/0000 ','% m /% d /% Y ');
    + --------------------------------------- +
    | STR_TO_DATE ('00 / 00/0000 ','% m /% d /% Y ') |
    + --------------------------------------- +
    | 0000-00-00 |
    + --------------------------------------- +
    mysql & gt; SET sql_mode = 'NO_ZERO_DATE';
    mysql & gt; CHỌN STR_TO_DATE ('00 / 00/0000 ','% m /% d /% Y ');
    + --------------------------------------- +
    | STR_TO_DATE ('00 / 00/0000 ','% m /% d /% Y ') |
    + --------------------------------------- +
    | NULL |
    + --------------------------------------- +
    mysql & gt; HIỂN THỊ CẢNH BÁO \ G
    *************************** 1. hàng ******************** *******
      Mức độ: Cảnh báo
       Mã: 1411
    Thông báo: Giá trị ngày giờ không chính xác: '00 / 00/0000 'cho hàm str_to_date  

    Ghi chú

    Bạn không thể sử dụng định dạng "% X% V" để chuyển đổi
    chuỗi năm-tuần thành một ngày vì sự kết hợp của một năm
    và tuần không xác định duy nhất một năm và tháng nếu
    tuần vượt qua ranh giới tháng. Để chuyển đổi một năm-tuần thành một
    ngày, bạn cũng nên chỉ định ngày trong tuần:

      mysql & gt; SELECT STR_TO_DATE ('200442 Thứ Hai', '% X% V% W');
            - & gt; '2004-10-18'  
  • SUBDATE ( date , INTERVAL
    expr
    đơn vị )
    ,
    SUBDATE ( expr , days )

    Khi được gọi với biểu mẫu INTERVAL của
    đối số thứ hai, SUBDATE ()
    từ đồng nghĩa với DATE_SUB () . Vì
    thông tin về INTERVAL
    đối số unit , xem thảo luận
    cho DATE_ADD () .

      mysql & gt; SELECT DATE_SUB ('2008-01-02', INTERVAL 31 NGÀY);
            - & gt; '2007-12-02'
    mysql & gt; CHỌN ĐĂNG KÝ ('2008-01-02', INTERVAL 31 NGÀY);
            - & gt; '2007-12-02'  

    Dạng thứ hai cho phép sử dụng một giá trị số nguyên cho
    ngày . Trong những trường hợp như vậy, nó là
    được hiểu là số ngày bị trừ đi
    ngày tháng hoặc biểu thức ngày giờ expr .

      mysql & gt; CHỌN ĐĂNG KÝ ('2008-01-02 12:00:00', 31);
            - & gt; '2007-12-02 12:00:00'  

    Hàm này trả về NULL nếu có
    các đối số là NULL .

  • SUBTIME ( expr1 , expr2 )

    SUBTIME () trả về
    expr1
    expr2 được biểu thị dưới dạng giá trị trong
    cùng định dạng với expr1 .
    expr1 là thời gian hoặc ngày giờ
    biểu thức và expr2 là thời gian
    biểu hiện.

    Độ phân giải của kiểu trả về của hàm này được thực hiện như
    nó dành cho ADDTIME ()
    hàm số; xem mô tả của chức năng đó để biết thêm
    thông tin.

      mysql & gt; CHỌN SUBTIME ('2007-12-31 23: 59: 59.999999', '1 1: 1: 1.000002');
            - & gt; '2007-12-30 22: 58: 58.999997'
    mysql & gt; CHỌN SUBTIME ('01: 00: 00.999999 ', '02: 00: 00.999998');
            - & gt; '-00: 59: 59.999999'  

    Hàm này trả về NULL nếu
    expr1 hoặc
    expr2 NULL .

  • SYSDATE ([ fsp ])

    Trả về ngày và giờ hiện tại dưới dạng giá trị trong
    ' YYYY-MM-DD
    hh: mm: ss
    '
    hoặc
    Định dạng YYYYMMDDhhmmss , tùy thuộc vào
    cho dù hàm được sử dụng trong ngữ cảnh chuỗi hay số.

    Nếu đối số fsp được cấp cho
    chỉ định độ chính xác giây phân số từ 0 đến 6, kết quả trả về
    giá trị bao gồm một phần giây phân số của nhiều chữ số đó.

    SYSDATE () trả về thời gian tại
    mà nó thực thi. Điều này khác với hành vi đối với
    NOW () , trả về một hằng số
    thời gian cho biết thời gian mà tại đó câu lệnh bắt đầu
    hành hình. (Trong một hàm hoặc trình kích hoạt được lưu trữ,
    NOW () trả về thời gian tại đó
    hàm hoặc câu lệnh kích hoạt bắt đầu thực thi.)

      mysql & gt; CHỌN NGAY (), NGỦ (2), NGAY ();
    + --------------------- + ---------- + ---------------- ----- +
    | NGAY BÂY GIỜ () | NGỦ (2) | NGAY BÂY GIỜ () |
    + --------------------- + ---------- + ---------------- ----- +
    | 2006-04-12 13:47:36 | 0 | 2006-04-12 13:47:36 |
    + --------------------- + ---------- + ---------------- ----- +
    
    mysql & gt; CHỌN SYSDATE (), SLEEP (2), SYSDATE ();
    + --------------------- + ---------- + ---------------- ----- +
    | SYSDATE () | NGỦ (2) | SYSDATE () |
    + --------------------- + ---------- + ---------------- ----- +
    | 2006-04-12 13:47:44 | 0 | 2006-04-12 13:47:46 |
    + --------------------- + ---------- + ---------------- ----- +  

    Ngoài ra, câu lệnh SET TIMESTAMP
    ảnh hưởng đến giá trị được trả lại bởi
    NOW () nhưng không phải bởi
    SYSDATE () . Điều này có nghĩa rằng
    cài đặt dấu thời gian trong nhật ký nhị phân không ảnh hưởng đến
    lời gọi của SYSDATE () .

    SYSDATE () có thể trả về
    các giá trị khác nhau ngay cả trong cùng một câu lệnh và không
    bị ảnh hưởng bởi SET TIMESTAMP , nó là
    không xác định và do đó không an toàn để sao chép nếu
    ghi nhật ký nhị phân dựa trên câu lệnh được sử dụng. Nếu đó là một vấn đề,
    bạn có thể sử dụng ghi nhật ký dựa trên hàng.

    Ngoài ra, bạn có thể sử dụng
    - sysdate-is-now tùy chọn để
    khiến SYSDATE () là bí danh
    cho NOW () . Điều này hoạt động nếu
    tùy chọn được sử dụng trên cả máy chủ nguồn nhân bản và
    bản sao.

    Bản chất không xác định của
    SYSDATE () cũng có nghĩa là
    chỉ mục không thể được sử dụng để đánh giá các biểu thức tham chiếu
    với nó.

  • TIME ( expr )

    Trích xuất phần thời gian của biểu thức thời gian hoặc ngày giờ
    expr và trả về nó dưới dạng một chuỗi.
    Trả về NULL nếu
    expr NULL .

    Chức năng này không an toàn cho việc sao chép dựa trên câu lệnh. Một
    cảnh báo được ghi lại nếu bạn sử dụng chức năng này khi
    binlog_format được đặt thành
    THỐNG KÊ .

      mysql & gt; CHỌN THỜI GIAN ('2003-12-31 01:02:03');
            - & gt; '01: 02: 03 '
    mysql & gt; CHỌN THỜI GIAN ('2003-12-31 01: 02: 03.000123');
            - & gt; '01: 02: 03.000123 ' 
  • TIMEDIFF ( expr1 , expr2 )

    TIMEDIFF () trả về
    expr1
    expr2 được biểu thị dưới dạng giá trị thời gian.
    expr1
    expr2 là thời gian hoặc ngày và giờ
    nhưng cả hai phải cùng kiểu. Lợi nhuận
    NULL nếu expr1 hoặc
    expr2 NULL .

    Kết quả trả về bởi TIMEDIFF ()
    giới hạn trong phạm vi cho phép
    TIME giá trị. Ngoài ra, bạn
    có thể sử dụng một trong hai chức năng
    TIMESTAMPDIFF ()
    UNIX_TIMESTAMP () , cả hai đều
    trả về số nguyên.

      mysql & gt; CHỌN TIMEDIFF ('2000-01-01 00:00:00',
        - & gt; '2000-01-01 00: 00: 00.000001');
            - & gt; '-00: 00: 00.000001'
    mysql & gt; CHỌN TIMEDIFF ('2008-12-31 23: 59: 59.000001',
        - & gt; '2008-12-30 01: 01: 01.000002');
            - & gt; '46: 58: 57.999999 ' 
  • TIMESTAMP ( expr ) ,
    TIMESTAMP ( expr1 , expr2 )

    Với một đối số duy nhất, hàm này trả về ngày tháng hoặc
    biểu thức datetime expr dưới dạng
    giá trị ngày giờ. Với hai đối số, nó thêm thời gian
    biểu thức expr2 cho ngày hoặc
    biểu thức datetime expr1
    trả về kết quả dưới dạng giá trị ngày giờ. Lợi nhuận
    NULL nếu expr ,
    expr1 hoặc
    expr2 NULL .

      mysql & gt; CHỌN TIMESTAMP ('2003-12-31');
            - & gt; '2003-12-31 00:00:00'
    mysql & gt; CHỌN TIMESTAMP ('2003-12-31 12:00:00', '12:00:00');
            - & gt; '2004-01-01 00:00:00'  
  • TIMESTAMPADD ( đơn vị , khoảng , datetime_expr ) < / span>

    Thêm biểu thức số nguyên
    khoảng thời gian đến ngày hoặc giờ
    biểu thức datetime_expr . Đơn vị
    cho khoảng thời gian được cung cấp bởi
    Đối số unit , phải là một
    trong số các giá trị sau: MICROSECOND
    (micro giây), SECOND ,
    PHÚT , GIỜ ,
    NGÀY , TUẦN ,
    THÁNG , QUARTER hoặc
    NĂM .

    Giá trị đơn vị có thể được chỉ định
    bằng cách sử dụng một trong các từ khóa như được hiển thị hoặc với tiền tố là
    SQL_TSI_ . Ví dụ,
    DAY SQL_TSI_DAY cả hai
    là hợp pháp.

    Hàm này trả về NULL nếu
    khoảng thời gian hoặc
    datetime_expr
    NULL .

      mysql & gt; CHỌN TIMESTAMPADD (MINUTE, 1, '2003-01-02');
            - & gt; '2003-01-02 00:01:00'
    mysql & gt; CHỌN TIMESTAMPADD (TUẦN, 1, '2003-01-02');
            - & gt; '2003-01-09'  
  • TIMESTAMPDIFF ( unit , datetime_expr1 , datetime_expr2 ) < / span>

    Trả về datetime_expr2
    datetime_expr1 , ở đâu
    datetime_expr1
    datetime_expr2 là ngày hoặc giờ
    biểu thức. Một biểu thức có thể là ngày tháng và biểu thức kia
    ngày giờ; một giá trị ngày được coi là ngày giờ có
    phần thời gian '00:00:00' khi cần thiết. Các
    đơn vị cho kết quả (một số nguyên) được cho bởi
    đối số đơn vị . Các giá trị pháp lý cho
    đơn vị giống với những đơn vị được liệt kê
    trong mô tả của
    Hàm TIMESTAMPADD () .

    Hàm này trả về NULL nếu
    datetime_expr1 hoặc
    datetime_expr2
    NULL .

      mysql & gt; CHỌN TIMESTAMPDIFF (MONTH, '2003-02-01', '2003-05-01');
            - & gt; 3
    mysql & gt; CHỌN TIMESTAMPDIFF (NĂM, '2002-05-01', '2001-01-01');
            - & gt; -1
    mysql & gt; CHỌN TIMESTAMPDIFF (PHÚT, '2003-02-01', '2003-05-01 12:05:55');
            - & gt; 128885  

    Ghi chú

    Thứ tự của các đối số ngày hoặc giờ cho điều này
    chức năng đối lập với chức năng được sử dụng với
    Hàm TIMESTAMP () khi
    được gọi với 2 đối số.

  • TIME_FORMAT ( time , format )

    ​​

    Điều này được sử dụng như
    Hàm DATE_FORMAT () , nhưng hàm
    định dạng chuỗi có thể chứa định dạng
    chỉ định cho giờ, phút, giây và micro giây.
    Các mã thông số khác tạo ra NULL hoặc
    0 . TIME_FORMAT () trả về
    NULL nếu time hoặc
    định dạng NULL .

    Nếu giá trị time chứa một giờ
    phần lớn hơn 23 ,
    % H % k định dạng giờ
    thông số kỹ thuật tạo ra giá trị lớn hơn phạm vi thông thường của
    0..23 . Các chỉ định định dạng giờ khác
    tạo ra mô-đun giá trị giờ 12.

      mysql & gt; CHỌN TIME_FORMAT ('100: 00: 00', '% H% k% h% I% l');
            - & gt; '100 100 04 04 4'  
  • TIME_TO_SEC ( time )

    Trả về đối số time ,
    được chuyển đổi thành giây. Trả về NULL nếu
    time NULL .

      mysql & gt; CHỌN TIME_TO_SEC ('22: 23: 00');
            - & gt; 80580
    mysql & gt; CHỌN TIME_TO_SEC ('00: 39: 38 ');
            - & gt; 2378  
  • TO_DAYS ( ngày )

    Cho một ngày date , trả về một ngày
    số (số ngày kể từ năm 0). Lợi nhuận
    NULL nếu date
    NULL .

      mysql & gt; CHỌN TO_DAYS (950501);
            - & gt; 728779
    mysql & gt; CHỌN TO_DAYS ('2007-10-07');
            - & gt; 733321  

    TO_DAYS () không dành cho
    sử dụng với các giá trị trước sự ra đời của Gregorian
    lịch (1582), bởi vì nó không tính đến
    những ngày đã bị mất khi lịch được thay đổi. Đối với các cuộc hẹn hò
    trước năm 1582 (và có thể một năm sau đó ở các ngôn ngữ khác),
    kết quả từ chức năng này không đáng tin cậy. Nhìn thấy
    Phần 12.9, “Lịch gì được MySQL sử dụng?” , để biết chi tiết.

    Hãy nhớ rằng MySQL chuyển đổi các giá trị năm gồm hai chữ số trong các ngày thành
    dạng bốn chữ số sử dụng các quy tắc trong
    Phần 11.2, “Loại dữ liệu ngày và giờ” . Ví dụ,
    '2008-10-07'
    '08-10-07' được coi là những ngày giống hệt nhau:

      mysql & gt; CHỌN TO_DAYS ('2008-10-07'), TO_DAYS ('08 -10-07 ');
            - & gt; 733687, 733687  

    Trong MySQL, ngày 0 được định nghĩa là
    '0000-00-00' , mặc dù ngày này là
    bản thân nó được coi là không hợp lệ. Điều này có nghĩa là, đối với '0000-00-00'
    '0000-01-01' ,
    TO_DAYS () trả về các giá trị
    hiển thị ở đây:

      mysql & gt; CHỌN TO_DAYS ('0000-00-00');
    + ----------------------- +
    | to_days ('0000-00-00') |
    + ----------------------- +
    | NULL |
    + ----------------------- +
    Đã đặt 1 hàng, 1 cảnh báo (0,00 giây)
    
    mysql & gt; HIỂN THỊ CẢNH BÁO;
    + --------- + ------ + -------------------------------- -------- +
    | Mức độ | Mã | Tin nhắn |
    + --------- + ------ + -------------------------------- -------- +
    | Cảnh báo | 1292 | Giá trị ngày giờ không chính xác: '0000-00-00' |
    + --------- + ------ + -------------------------------- -------- +
    1 hàng trong bộ (0,00 giây)
    
    
    mysql & gt; CHỌN TO_DAYS ('0000-01-01');
    + ----------------------- +
    | to_days ('0000-01-01') |
    + ----------------------- +
    | 1 |
    + ----------------------- +
    1 hàng trong bộ (0,00 giây)  

    Điều này có đúng hay không
    ALLOW_INVALID_DATES SQL
    chế độ máy chủ được bật.

  • TO_SECONDS ( expr )

    Đã cung cấp một ngày hoặc datetime expr ,
    trả về số giây kể từ năm 0. Nếu
    expr không phải là ngày hợp lệ hoặc
    giá trị datetime (bao gồm NULL ), nó trả về
    NULL .

      mysql & gt; CHỌN TO_SECONDS (950501);
            - & gt; 62966505600
    mysql & gt; CHỌN TO_SECONDS ('2009-11-29');
            - & gt; 63426672000
    mysql & gt; CHỌN TO_SECONDS ('2009-11-29 13:43:32');
            - & gt; 63426721412
    mysql & gt; CHỌN TO_SECONDS (NOW ());
            - & gt; 63426721458  

    Giống như TO_DAYS () ,
    TO_SECONDS () không được thiết kế để sử dụng với
    các giá trị trước sự ra đời của lịch Gregory
    (1582), bởi vì nó không tính đến những ngày mà
    đã bị mất khi lịch được thay đổi. Cho những ngày trước năm 1582
    (và có thể một năm sau ở các ngôn ngữ khác), kết quả từ
    chức năng này không đáng tin cậy. Nhìn thấy
    Phần 12.9, “Lịch gì được MySQL sử dụng?” , để biết chi tiết.

    Giống như TO_DAYS () ,
    TO_SECONDS () , chuyển đổi năm hai chữ số
    các giá trị ở dạng ngày tháng sang dạng bốn chữ số bằng cách sử dụng các quy tắc trong
    Phần 11.2, “Loại dữ liệu ngày và giờ” .

    Trong MySQL, ngày 0 được định nghĩa là
    '0000-00-00' , mặc dù ngày này là
    bản thân nó được coi là không hợp lệ. Điều này có nghĩa là, đối với
    '0000-00-00'
    '0000-01-01' ,
    TO_SECONDS () trả về các giá trị
    hiển thị ở đây:

      mysql & gt; CHỌN TO_SECONDS ('0000-00-00');
    + -------------------------- +
    | TO_SECONDS ('0000-00-00') |
    + -------------------------- +
    | NULL |
    + -------------------------- +
    Đã đặt 1 hàng, 1 cảnh báo (0,00 giây)
    
    mysql & gt; HIỂN THỊ CẢNH BÁO;
    + --------- + ------ + -------------------------------- -------- +
    | Mức độ | Mã | Tin nhắn |
    + --------- + ------ + -------------------------------- -------- +
    | Cảnh báo | 1292 | Giá trị ngày giờ không chính xác: '0000-00-00' |
    + --------- + ------ + -------------------------------- -------- +
    1 hàng trong bộ (0,00 giây)
    
    
    mysql & gt; CHỌN TO_SECONDS ('0000-01-01');
    + -------------------------- +
    | TO_SECONDS ('0000-01-01') |
    + -------------------------- +
    | 86400 |
    + -------------------------- +
    1 hàng trong bộ (0,00 giây)  

    Điều này có đúng hay không
    ALLOW_INVALID_DATES SQL
    chế độ máy chủ được bật.

  • UTC_DATE ,
    UTC_DATE ()

    Trả về ngày UTC hiện tại dưới dạng giá trị trong
    ' YYYY-MM-DD ' hoặc
    Định dạng YYYYMMDD , tùy thuộc vào
    cho dù hàm được sử dụng trong ngữ cảnh chuỗi hay số.

      mysql & gt; CHỌN UTC_DATE (), UTC_DATE () + 0;
            - & gt; '2003-08-14', 20030814  
  • UTC_TIME ,
    UTC_TIME ([ fsp ])

    Trả về thời gian UTC hiện tại dưới dạng giá trị trong
    'hh: mm: ss' hoặc
    Định dạng hhmmss , tùy thuộc vào việc
    hàm được sử dụng trong ngữ cảnh chuỗi hoặc số.

    Nếu đối số fsp được cấp cho
    chỉ định độ chính xác giây phân số từ 0 đến 6, kết quả trả về
    giá trị bao gồm một phần giây phân số của nhiều chữ số đó.

      mysql & gt; CHỌN UTC_TIME (), UTC_TIME () + 0;
            - & gt; '18: 07: 53', 180753.000000  
  • UTC_TIMESTAMP ,
    UTC_TIMESTAMP ([ fsp ])

    Trả về ngày và giờ UTC hiện tại dưới dạng giá trị trong
    ' YYYY-MM-DD
    hh: mm: ss
    '
    hoặc
    Định dạng YYYYMMDDhhmmss , tùy thuộc vào
    cho dù hàm được sử dụng trong ngữ cảnh chuỗi hay số.

    Nếu đối số fsp được cấp cho
    chỉ định độ chính xác giây phân số từ 0 đến 6, kết quả trả về
    giá trị bao gồm một phần giây phân số của nhiều chữ số đó.

      mysql & gt; CHỌN UTC_TIMESTAMP (), UTC_TIMESTAMP () + 0;
            - & gt; '2003-08-14 18:08:04', 20030814180804.000000  
  • TUẦN ( ngày [, mode ])

    Hàm này trả về số tuần cho
    ngày . Dạng hai đối số của
    WEEK () cho phép bạn chỉ định
    liệu tuần bắt đầu vào Chủ Nhật hay Thứ Hai và liệu
    giá trị trả về phải nằm trong phạm vi từ 0
    thành 53 hoặc từ 1 thành
    53 . Nếu chế độ
    đối số bị bỏ qua, giá trị của
    Hệ thống default_week_format
    biến được sử dụng. Nhìn thấy
    Phần 5.1.8, “Biến hệ thống máy chủ” . Cho một
    Giá trị ngày NULL , hàm trả về
    NULL .

    Bảng sau đây mô tả cách
    Đối số mode hoạt động.

    Cách thức
    Ngày đầu tuần
    Phạm vi
    Tuần 1 là tuần đầu tiên…

    0
    Chủ nhật
    0-53
    với một ngày chủ nhật trong năm nay

    1
    Thứ hai
    0-53
    với 4 ngày trở lên trong năm nay

    2
    Chủ nhật
    1-53
    với một ngày chủ nhật trong năm nay

    3
    Thứ hai
    1-53
    với 4 ngày trở lên trong năm nay

    4
    Chủ nhật
    0-53
    với 4 ngày trở lên trong năm nay

    5
    Thứ hai
    0-53
    với một ngày thứ Hai trong năm nay

    6
    Chủ nhật
    1-53
    với 4 ngày trở lên trong năm nay

    7
    Thứ hai
    1-53
    với một ngày thứ Hai trong năm nay

    Đối với các giá trị mode có nghĩa là
    “Với 4 ngày trở lên trong năm nay”, số tuần là
    được đánh số theo ISO 8601: 1988:

    • Nếu tuần có ngày 1 tháng 1 có 4 ngày trở lên trong
      Năm mới, đã là tuần 1.

    • Nếu không, đó là tuần cuối cùng của năm trước, và
      tuần tiếp theo là tuần 1.

      mysql & gt; CHỌN TUẦN ('2008-02-20');
            - & gt; 7
    mysql & gt; CHỌN TUẦN ('2008-02-20', 0);
            - & gt; 7
    mysql & gt; CHỌN TUẦN ('2008-02-20', 1);
            - & gt; số 8
    mysql & gt; CHỌN TUẦN ('2008-12-31', 1);
            - & gt; 53  

    Nếu một ngày rơi vào tuần cuối cùng của năm trước, MySQL
    trả về 0 nếu bạn không sử dụng
    2 , 3 ,
    6 hoặc 7 là tùy chọn
    đối số mode :

      mysql & gt; CHỌN NĂM ('2000-01-01'), TUẦN ('2000-01-01', 0);
            - & gt; 2000, 0  

    Người ta có thể tranh luận rằng WEEK ()
    nên trả về 52 vì ngày đã cho
    thực sự xảy ra vào tuần thứ 52 của năm 1999.
    WEEK () trả về
    0 thay vào đó để giá trị trả về là
    “Số tuần trong năm nhất định.” Điều này làm cho
    sử dụng hàm WEEK ()
    đáng tin cậy khi kết hợp với các chức năng khác trích xuất một
    ngày một phần từ một ngày.

    Nếu bạn thích một kết quả được đánh giá liên quan đến năm đó
    chứa ngày đầu tiên trong tuần cho ngày đã cho, sử dụng
    0 , 2 ,
    5 hoặc 7 là tùy chọn
    đối số mode .

      mysql & gt; CHỌN TUẦN ('2000-01-01', 2);
            - & gt; 52  

    Ngoài ra, sử dụng
    Hàm YEARWEEK () :

      mysql & gt; CHỌN NĂM TUẦN ('2000-01-01');
            - & gt; 199952
    mysql & gt; CHỌN MID (YEARWEEK ('2000-01-01'), 5,2);
            - & gt; '52'  
  • WEEKDAY ( date )

    Trả về chỉ mục ngày trong tuần cho date
    ( 0 = Thứ Hai, 1 =
    Thứ Ba,… 6 = Chủ nhật). Lợi nhuận
    NULL nếu date
    NULL .

      mysql & gt; CHỌN WEEKDAY ('2008-02-03 22:23:00');
            - & gt; 6
    mysql & gt; CHỌN WEEKDAY ('2007-11-06');
            - & gt; 1  
  • WEEKOFYEAR ( date )

    Trả về tuần lịch của ngày dưới dạng một số trong phạm vi
    từ 1 đến 53 . Lợi nhuận
    NULL nếu date
    NULL .

    WEEKOFYEAR () là khả năng tương thích
    chức năng tương đương với
    TUẦN ( ngày , 3) .

      mysql & gt; CHỌN WEEKOFYEAR ('2008-02-20');
            - & gt; 8  
  • NĂM ( ngày )

    Trả về năm cho date , trong
    range 1000 đến 9999 hoặc
    0 cho ngày “không”. Lợi nhuận
    NULL nếu date
    NULL .

      mysql & gt; CHỌN NĂM ('1987-01-01');
            - & gt; 1987  
  • YEARWEEK ( date ) ,
    YEARWEEK ( date , mode )

    Trả về năm và tuần cho một ngày. Năm kết quả có thể
    khác với năm trong đối số ngày cho đầu tiên
    và tuần cuối cùng của năm. Trả về NULL
    nếu date NULL .

    Đối số mode hoạt động chính xác
    như đối số mode để
    TUẦN () . Đối với một đối số
    cú pháp, mode giá trị 0 được sử dụng.
    Không giống như WEEK () , giá trị của
    default_week_format thì không
    ảnh hưởng đến YEARWEEK () .

      mysql & gt; CHỌN NĂM TUẦN ('1987-01-01');
            - & gt; 198652  

    Số tuần khác với số
    Hàm WEEK () sẽ trả về
    ( 0 ) cho các đối số tùy chọn
    0 hoặc 1 , như
    WEEK () sau đó trả về tuần trong
    bối cảnh của năm nhất định.


Xem thêm những thông tin liên quan đến chủ đề hoạt động ngày trong mysql

Learning MySQL – Date and Time Functions

  • Tác giả: Steve Griffith – Prof3ssorSt3v3
  • Ngày đăng: 2019-06-03
  • Đánh giá: 4 ⭐ ( 7936 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: This next tutorial is all about the Date and Time functions available in MySQL. Some are good for manipulating dates, some for calculating times and dates and others are good for formatting dates.

    MySQL Playlist: https://www.youtube.com/watch?v=a9W7OpS4LfI&list=PLyuRouwmQCjlXvBkTfGeDTq79r9_GoMt9

    SQL file with Queries from video: https://gist.github.com/prof3ssorSt3v3/4da9fff2192ecd071689e5a5a9e41048

    MySQL function reference: https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html

    MySQL format reference: https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.htmlfunction_get-format

    MySQL unit reference: https://dev.mysql.com/doc/refman/5.7/en/expressions.htmltemporal-intervals

MySQL là gì? – Cách thức hoạt động của MySQL

  • Tác giả: www.tips.vn
  • Đánh giá: 4 ⭐ ( 1214 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: {tocify} $title={Table of Contents} MySQL là gì? MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở, hoạt động theo mô hình clie…

[Tự học SQL] Làm việc với kiểu ngày, giờ(Date) trong SQL

  • Tác giả: cafedev.vn
  • Đánh giá: 5 ⭐ ( 6416 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Các dữ liệu khác có thể đơn giản, nhưng đối với kiểu ngày, giờ sẽ có nhiều khó khăn cho người mới dùng nó. Vì vậy cafedev chia sẻ cho ace một số kiến thức và kinh nghiệm khi làm việc với kiểu này.

So Sánh Thời Gian Trong Sql Server? So Sánh Ngày Trong Sql Server

  • Tác giả: nguthan.vn
  • Đánh giá: 5 ⭐ ( 7767 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Kiểu dữ liệu ngày tháng (date/time) không giống những kiểu dữ liệu nguyên thuỷ thông thường nên thường gây khó khăn cho các bạn lập trình viên nhất là khi thao tác với các câu lệnh mysql, trong bài viết này mình sẽ tổng hợp và hướng dẫn các bạn làm việc với kiểu date/time trong mysql 1, Kiểu dữ liệu ngày SQL

Hướng dẫn xử lý về thời gian trong MySQL

  • Tác giả: megacode.vn
  • Đánh giá: 3 ⭐ ( 5690 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: MySQL hỗ trợ các bảng CSDL chứa các cột với các kiểu dữ liệu khác nhau, trong đó có các kiểu dữ liệu về ngày và thời gian

Hàm xử lý Date và Time trong MySQL

  • Tác giả: hoclaptrinh.vn
  • Đánh giá: 4 ⭐ ( 7074 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Bảng dưới liệt kê tất cả các hàm quan trọng liên quan tới xử lý Date và Time trong MySQL. Có các hàm đa dạng khác nhau được hỗ trợ bởi RDBMS của bạn. Danh sách dưới đây dựa trên MySQL RDBMS.

Hàm xử lý Date và Time trong MySQL

  • Tác giả: vietjack.com
  • Đánh giá: 4 ⭐ ( 6797 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Hàm xử lý Date và Time trong MySQL – Học MySQL cơ bản đến nâng cao bắt đầu từ MySQL và PHP, Cơ sở dữ liệu, Cú pháp kết hợp MySQL và PHP, Mệnh đề WHERE, Lệnh DELETE, Truy vấn INSERT, Truy vấn UPDATE, Ràng buộc (Constraint), Truy vấn DROP, Mệnh đề ORDER BY, Mệnh đề GROUP BY, Hàm xử lý, Sử dụng JOIN, Giá trị NULL, Transaction, Sử dụng Sequence, Nhập – Xuất cơ sở dữ liệu, Phương thức Backup và Recovery, Regexp, SQL Injection và cách sử dụng trong PHP theo các bước cơ bản.

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

Xem Thêm  THAM GIA QUYỀN trong SQL Server: Giải thích cho người mới bắt đầu - tham gia bên ngoài bên phải trong máy chủ sql

By ads_php