-
創建一個datetime表
> create table date_time(time datetime); > desc date_time; +-------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+----------+------+-----+---------+-------+ | time | datetime | YES | | NULL | | +-------+----------+------+-----+---------+-------+
-
輸入"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 # 報錯
-
輸入”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
-
測試年份輸入三位或者一位
> 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位
-
輸入年份格式為”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 | # 可以存儲 +---------------------+
-
最后測試極限時間
> 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 | +---------------------+
總結:
- datetime類型范圍為”0000-00-00 00:00:00“~”9999-12-31 23:59:59“;
- 要存儲年份為兩位數的需要在前面補足”00“,不然會按照date類型進行轉換('00'-'69'會轉換為2000-2069,'70'-'99'會轉換為1970-1999);