Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

สตริงหรือตัวเลขต้องมีหลักกี่หลักถึงจะระบุเป็นค่าวันที่ใน MySQL ได้?

ขึ้นอยู่กับรูปแบบปี:

ปี 4 หลัก (YYYY)

  • ขั้นต่ำ 8 หลัก (YYYYMMDD) → วันที่
  • สูงสุด 20 หลัก (YYYYMMDDHHMMSSmmmmmm) → รวมไมโครวินาที 6 หลัก
mysql> SELECT TIMESTAMP('20171022040536.100000');
+-----------------------------------+
| TIMESTAMP('20171022040536.100000') |
+-----------------------------------+
| 2017-10-22 04:05:36.100000        |
+-----------------------------------+

mysql> SELECT TIMESTAMP(20171022);
+---------------------+
| TIMESTAMP(20171022) |
+---------------------+
| 2017-10-22 00:00:00 |
+---------------------+

mysql> SELECT TIMESTAMP(201710);
+-------------------+
| TIMESTAMP(201710) |
+-------------------+
| NULL              |
+-------------------+  -- น้อยกว่า 8 หลัก

ปี 2 หลัก (YY)

  • ขั้นต่ำ 6 หลัก (YYMMDD) → วันที่
  • สูงสุด 18 หลัก (YYMMDDHHMMSSmmmmmm) → รวมไมโครวินาที
mysql> SELECT TIMESTAMP(171022);
+---------------------+
| TIMESTAMP(171022)   |
+---------------------+
| 2017-10-22 00:00:00 |
+---------------------+

mysql> SELECT TIMESTAMP('171022040536.200000');
+----------------------------------+
| TIMESTAMP('171022040536.200000') |
+----------------------------------+
| 2017-10-22 04:05:36.200000       |
+----------------------------------+

mysql> SELECT TIMESTAMP(1710);
+-----------------+
| TIMESTAMP(1710) |
+-----------------+
| NULL            |
+-----------------+  -- น้อยกว่า 6 หลัก