關於Mysql datetime類型存儲范圍測試


  1. 創建一個datetime表

    > create table date_time(time datetime);
    > desc date_time;
    +-------+----------+------+-----+---------+-------+
    | Field | Type     | Null | Key | Default | Extra |
    +-------+----------+------+-----+---------+-------+
    | time  | datetime | YES  |     | NULL    |       |
    +-------+----------+------+-----+---------+-------+
    
  2. 輸入"10000-10-10 00:00:00"進行測試

    > insert into date_time values("10000-10-10 00:00:00");
    ERROR 1292 (22007): Incorrect datetime value: '10000-10-10 00:00:00' for column 'time' at row 1 # 報錯
    
  3. 輸入”23-01-02 12:23:56"測試

    > insert into date_time values("23-01-02 12:23:56");
    > insert into date_time values("79-01-02 12:23:56");
    > select * from date_time;
    +---------------------+
    | time                |
    +---------------------+
    | 2023-01-02 12:23:56 |
    | 1979-01-02 12:23:56 |
    +---------------------+
    

    會和date一樣,'00'-'69'會轉換為2000-2069,'70'-'99'會轉換為1970-1999

  4. 測試年份輸入三位或者一位

    > insert into date_time values("179-01-02 12:23:56");
    > insert into date_time values("9-01-02 12:23:56");
    > select * from date_time;
    +---------------------+
    | time                |
    +---------------------+
    | 2023-01-02 12:23:56 |
    | 1979-01-02 12:23:56 |
    | 0179-01-02 12:23:56 |
    | 0009-01-02 12:23:56 |
    +---------------------+
    

    可以存儲進去,但會自動在前面補足0,使年份變為4位

  5. 輸入年份格式為”00YY“

    > insert into date_time values("0079-01-02 12:23:56");
    > select * from date_time;
    +---------------------+
    | time                |
    +---------------------+
    | 2023-01-02 12:23:56 |
    | 1979-01-02 12:23:56 |
    | 0179-01-02 12:23:56 |
    | 0009-01-02 12:23:56 |
    | 0079-01-02 12:23:56 |   # 可以存儲
    +---------------------+
    
  6. 最后測試極限時間

    > insert into date_time values("0000-00-00 00:00:00");
    > insert into date_time values("9999-12-31 23:59:59");
    > select * from date_time;
    +---------------------+
    | time                |
    +---------------------+
    | 2023-01-02 12:23:56 |
    | 1979-01-02 12:23:56 |
    | 0179-01-02 12:23:56 |
    | 0009-01-02 12:23:56 |
    | 0079-01-02 12:23:56 |
    | 0000-00-00 00:00:00 |
    | 9999-12-31 23:59:59 |
    +---------------------+
    

總結:

  1. datetime類型范圍為”0000-00-00 00:00:00“~”9999-12-31 23:59:59“;
  2. 要存儲年份為兩位數的需要在前面補足”00“,不然會按照date類型進行轉換('00'-'69'會轉換為2000-2069,'70'-'99'會轉換為1970-1999);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM