Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Số chữ số tối thiểu/tối đa trong chuỗi/số để MySQL nhận diện là giá trị ngày

Xét năm 4 chữ số: cần tối thiểu 8 chữ số trong chuỗi/số để MySQL nhận là giá trị ngày. Nếu muốn lưu microsecond, tối đa 20 chữ số.

mysql> SELECT TIMESTAMP('20171022040536.100000');
+-----------------------------------+
| TIMESTAMP('20171022040536100000') |
+-----------------------------------+
| 2017-10-22 04:05:36.100000        |
+-----------------------------------+
1 row in set, 1 warning (0.00 sec)

20 chữ số (14 cho datetime + 6 microsecond).

mysql> SELECT TIMESTAMP(20171022);
+---------------------+
| TIMESTAMP(20171022) |
+---------------------+
| 2017-10-22 00:00:00 |
+---------------------+
1 row in set (0.00 sec)

8 chữ số (YYYYMMDD) cho ngày đơn thuần.

mysql> SELECT TIMESTAMP(201710);
+-------------------+
| TIMESTAMP(201710) |
+-------------------+
| NULL              |
+-------------------+
1 row in set, 1 warning (0.00 sec)

6 chữ số (YYYYMM) không đủ → trả về NULL.

Xét năm 2 chữ số: tối thiểu 6 chữ số, tối đa 18 chữ số (kèm microsecond).

mysql> SELECT TIMESTAMP(171022);
+---------------------+
| TIMESTAMP(171022)   |
+---------------------+
| 2017-10-22 00:00:00 |
+---------------------+
1 row in set (0.00 sec)

6 chữ số (YYMMDD).

mysql> SELECT TIMESTAMP('171022040536.200000');
+----------------------------------+
| TIMESTAMP('171022040536.200000') |
+----------------------------------+
| 2017-10-22 04:05:36.200000       |
+----------------------------------+
1 row in set (0.00 sec)

18 chữ số (12 cho datetime + 6 microsecond).

mysql> SELECT TIMESTAMP(1710);
+-----------------+
| TIMESTAMP(1710) |
+-----------------+
| NULL            |
+-----------------+
1 row in set, 1 warning (0.00 sec)

4 chữ số (YYMM) không đủ → NULL.