Rumah >pangkalan data >tutorial mysql >Berapakah bilangan digit yang perlu ada dalam rentetan atau nombor untuk ditentukan sebagai nilai tarikh oleh MySQL?

Berapakah bilangan digit yang perlu ada dalam rentetan atau nombor untuk ditentukan sebagai nilai tarikh oleh MySQL?

WBOY
WBOYke hadapan
2023-08-27 12:33:03993semak imbas

字符串或数字中应该有多少位数字才能被 MySQL 指定为日期值?

Walaupun tahun dianggap sebagai nilai 4 digit, MySQL memerlukan sekurang-kurangnya 8 digit dalam rentetan atau nombor untuk menentukannya sebagai nilai tarikh. Dalam kes ini, jika kita juga ingin menyimpan mikrosaat, nilainya boleh sehingga 20 digit.

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

Pertanyaan di atas mengambil rentetan angka 20 digit sebagai nilai TIMESTAMP. 6 digit terakhir mewakili mikrosaat.

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

Pertanyaan di atas mengambil rentetan 8 digit sebagai nilai TIMESTAMP.

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

Pertanyaan di atas mengembalikan NULL kerana nombor itu mempunyai kurang daripada 8 digit.

Sebaliknya, apabila menganggap tahun sebagai nombor 2 digit, sekurang-kurangnya 6 digit diperlukan dalam rentetan atau nombor untuk MySQL menentukannya sebagai nilai tarikh. Dalam kes ini, jika kita juga ingin menyimpan mikrosaat, nilainya boleh sehingga 18 digit.

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

Pertanyaan di atas mengambil rentetan 6 digit sebagai nilai TIMESTAMP.

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

Pertanyaan di atas mengambil rentetan angka 18 digit sebagai nilai TIMESTAMP. 6 digit terakhir selepas titik (.) mewakili mikrosaat.

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

Pertanyaan di atas mengembalikan NULL kerana bilangan digit kurang daripada 6.

Atas ialah kandungan terperinci Berapakah bilangan digit yang perlu ada dalam rentetan atau nombor untuk ditentukan sebagai nilai tarikh oleh MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam