MySQL 將字串或數字指定為日期值,需要多少位數字?
如果年份是4位數,則MySQL將字串或數字指定為日期值至少需要8位數字。在這種情況下,如果我們還需要儲存微秒,則值最多可以達到20位數字。
mysql> Select TIMESTAMP('20171022040536.100000');
+-----------------------------------+
| TIMESTAMP('20171022040536100000') |
+-----------------------------------+
| 2017-10-22 04:05:36.100000 |
+-----------------------------------+
1 row in set, 1 warning (0.00 sec)上面的查詢使用20位數字的字串作為TIMESTAMP值。最後6位數字代表微秒。
mysql> Select TIMESTAMP(20171022); +---------------------+ | TIMESTAMP(20171022) | +---------------------+ | 2017-10-22 00:00:00 | +---------------------+ 1 row in set (0.00 sec)
上面的查詢使用8位數字的字串作為TIMESTAMP值。
mysql> Select TIMESTAMP(201710); +-------------------+ | TIMESTAMP(201710) | +-------------------+ | NULL | +-------------------+ 1 row in set, 1 warning (0.00 sec)
上面的查詢返回NULL,因為數字位數少於8位。
相反,如果年份是2位數,則MySQL將字串或數字指定為日期值至少需要6位數字。在這種情況下,如果我們還需要儲存微秒,則值最多可以達到18位數字。
mysql> Select TIMESTAMP(171022); +---------------------+ | TIMESTAMP(171022) | +---------------------+ | 2017-10-22 00:00:00 | +---------------------+ 1 row in set (0.00 sec)
上面的查詢使用6位數字的字串作為TIMESTAMP值。
mysql> Select TIMESTAMP('171022040536.200000');
+----------------------------------+
| TIMESTAMP('171022040536.200000') |
+----------------------------------+
| 2017-10-22 04:05:36.200000 |
+----------------------------------+
1 row in set (0.00 sec)上面的查詢使用18位數字的字串作為TIMESTAMP值。小數點(.)後的最後6位數字代表微秒。
mysql> Select TIMESTAMP(1710); +-----------------+ | TIMESTAMP(1710) | +-----------------+ | NULL | +-----------------+ 1 row in set, 1 warning (0.00 sec)
上面的查詢返回NULL,因為數字位數少於6位。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP