首頁 >資料庫 >mysql教程 >字串或數字中應該有多少位元數字才能被 MySQL 指定為日期值?

字串或數字中應該有多少位元數字才能被 MySQL 指定為日期值?

WBOY
WBOY轉載
2023-08-27 12:33:031009瀏覽

字符串或数字中应该有多少位数字才能被 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 位數字時,字串或數字中至少需要 6 位數字MySQL 將其指定為日期值。在這種情況下,如果我們還想儲存微秒,那麼該值最多可以為 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。

以上是字串或數字中應該有多少位元數字才能被 MySQL 指定為日期值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除