Heim  >  Artikel  >  Datenbank  >  Wie viele Ziffern sollte eine Zeichenfolge oder Zahl haben, damit MySQL sie als Datumswert angibt?

Wie viele Ziffern sollte eine Zeichenfolge oder Zahl haben, damit MySQL sie als Datumswert angibt?

WBOY
WBOYnach vorne
2023-08-27 12:33:03984Durchsuche

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

Während Jahre als 4-stellige Werte behandelt werden, benötigt MySQL mindestens 8 Ziffern in einer Zeichenfolge oder Zahl, um sie als Datumswert anzugeben. Wenn wir in diesem Fall auch Mikrosekunden speichern möchten, kann der Wert bis zu 20 Stellen betragen.

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

Die obige Abfrage verwendet eine 20-stellige numerische Zeichenfolge als TIMESTAMP-Wert. Die letzten 6 Ziffern stellen Mikrosekunden dar.

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

Die obige Abfrage benötigt eine 8-stellige Zeichenfolge als TIMESTAMP-Wert.

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

Die obige Abfrage gibt NULL zurück, da die Zahl weniger als 8 Ziffern hat.

Wenn dagegen das Jahr als zweistellige Zahl behandelt wird, sind mindestens 6 Ziffern in der Zeichenfolge oder Zahl erforderlich, damit MySQL sie als Datumswert angeben kann. Wenn wir in diesem Fall auch Mikrosekunden speichern möchten, kann der Wert bis zu 18 Stellen betragen.

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

Die obige Abfrage benötigt eine 6-stellige Zeichenfolge als TIMESTAMP-Wert.

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

Die obige Abfrage verwendet eine 18-stellige numerische Zeichenfolge als TIMESTAMP-Wert. Die letzten 6 Ziffern nach dem Punkt (.) stellen Mikrosekunden dar.

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

Die obige Abfrage gibt NULL zurück, da die Anzahl der Ziffern weniger als 6 beträgt.

Das obige ist der detaillierte Inhalt vonWie viele Ziffern sollte eine Zeichenfolge oder Zahl haben, damit MySQL sie als Datumswert angibt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen