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.