Rumah >pangkalan data >tutorial mysql >Berapakah bilangan digit yang perlu ada dalam rentetan atau nombor untuk ditentukan sebagai nilai tarikh oleh 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!