CAST-Funktion Im vorherigen Artikel haben wir die CAST-Funktion erwähnt, die zur Anzeigetypkonvertierung verwendet wird. Die Vermeidung impliziter Typkonvertierungen bietet zahlreiche Vorteile. Tatsächlich sind hier noch viele Details zu klären. Schauen wir uns zunächst die folgende Konvertierung an: mysql> SELECT CAST('2017-12-14' AS DATE); +----------------------------+ | BESETZUNG('2017-12-14' ALS DATUM) | +----------------------------+ | 14.12.2017 | +----------------------------+ 1 Zeile im Satz (0,00 Sek.) In: Das Datum, das konvertiert werden soll, ist 14.12.2017. DATE ist der konvertierte Typ. Die Standardsyntax ist diese: CAST(Ausdruck AS Typ) Hierbei ist zu beachten, dass der Typtyp nicht alle Datentypen unterstützt, sondern bestimmte Datentypen, was auch der Schwerpunkt des heutigen Artikels ist. (Ich habe diesen Verlust schon einmal erlitten. Ich ging davon aus, dass alle Datentypen unterstützt werden, aber ich bekam eine Ohrfeige.) Nicht unterstützter Fehler: mysql> SELECT CAST('1024' AS int); FEHLER 1064 (42000): Ihre SQL-Syntax weist einen Fehler auf. Überprüfen Sie im Handbuch zu Ihrer MySQL-Serverversion die richtige Syntax für die Verwendung in der Nähe von „int)“ in Zeile 1. Unterstützte Typen Nachfolgend finden Sie eine Liste der Datentypen, deren Konvertierung von der CAST-Funktion unterstützt wird:
Beachten: Der unterstützte DATE-Bereich ist: 1000-01-01 bis 9999-12-31 (experimentelle Version:) Wenn es 999-01-01 lautet, ist das Ergebnis 0999-01-01. Wenn es 01.01.01 ist, dann wird es 01.01.2001 sein. mysql> Auswahl cast('999-11-11' als DATUM); +-----------------------------+ | Besetzung('999-11-11' als DATUM) | +-----------------------------+ | 11.11.0999 | +-----------------------------+ 1 Zeile im Satz (0,00 Sek.) mysql> Auswahl cast('01-11-11' als DATUM); +--------------------------+ | Besetzung('01-11-11' als DATUM) | +--------------------------+ | 11.11.2001 | +--------------------------+ 1 Zeile im Satz (0,00 Sek.) mysql> Version auswählen(); +-------------+ | version() | +-------------+ | 5.7.20 | +-------------+ 1 Zeile im Satz (0,00 Sek.) 2. Der Wert von expr in der CAST-Funktion kann in Typ konvertiert werden, und das Ergebnis der Konvertierung ist korrekt. Andernfalls ist das Ergebnis nach der Konvertierung der Standardwert, z. B. Null, 0 usw. Beispiel: Wenn ein Char-Typ in einen Demical-Typ konvertiert wird, ist das Ergebnis der Konvertierung 0. mysql> SELECT CAST('ANDYQIAN' AS DECIMAL); +-----------------------------+ | CAST('ANDYQIAN' AS DECIMAL) | +-----------------------------+ | 0 | +-----------------------------+ 1 Zeile im Satz, 1 Warnung (0,00 Sek.) Konvertierungsfall Hier sind einige häufig verwendete Beispiele für Typkonvertierungen. DATE-Typ mysql> Auswahl Cast('2017-12-14' als DATUM); +----------------------------+ | Besetzung('2017-12-14' als DATUM) | +----------------------------+ | 14.12.2017 | +----------------------------+ 1 Zeile im Satz (0,00 Sek.) TIME-Typ mysql> Auswahl cast('12:00:00' als ZEIT); +--------------------------+ | Besetzung('12:00:00' als ZEIT) | +--------------------------+ | 12:00:00 | +--------------------------+ 1 Zeile im Satz (0,00 Sek.) DATETIM-Typ mysql> Auswahl Besetzung('2017-12-14 00:11:11' als DATETIME); +-----------------------------------------+ | Besetzung('2017-12-14 00:11:11' als DATETIME) | +-----------------------------------------+ | 14.12.2017 00:11:11 | +-----------------------------------------+ 1 Zeile im Satz (0,00 Sek.) SIGNED-Typ mysql> Auswahl cast('-1024' als SIGNED); +-------------------------+ | cast('-1024' als SIGNIERT) | +-------------------------+ |-1024 | +-------------------------+ 1 Zeile im Satz (0,00 Sek.) UNSIGNED-Typen mysql> Auswahl cast('-1024' als UNSIGNED); +-----------------------------+ | Besetzung('-1024' als UNSIGNED) | +-----------------------------+ | 18446744073709550592 | +-----------------------------+ 1 Zeile im Satz, 1 Warnung (0,00 Sek.) DECIMAL-Typ mysql> wählen Sie Cast('18.11' als DECIMAL(18,2)); +--------------------------------+ | Besetzung('18.11' als DECIMAL(18,2)) | +--------------------------------+ | 18.11 | +--------------------------------+ 1 Zeile im Satz (0,00 Sek.) Das Obige ist der gesamte Inhalt dieser Zusammenstellung. Sie können den Befehl eingeben, um ihn beim Testen auszuprobieren. Wenn Sie etwas nicht verstehen, können Sie es im Kommentarbereich unten besprechen. Das könnte Sie auch interessieren:
|
<<: Detaillierte Schritte zum Herunterladen und Installieren von Tomcat unter Linux
>>: Lösen Sie das Installationsproblem von Linux Tensorflow2.0
Ich habe in letzter Zeit viel MySQL-bezogene Synt...
In Bezug auf das leistungsstarke verteilte Speich...
1. Installation apt-get install mysql-server erfo...
Inhaltsverzeichnis Vorwort 1.v-show 2.v-wenn 3. D...
Inhaltsverzeichnis React-Native-Projektinitialisi...
Ich lerne derzeit etwas über MySQL-Optimierung. D...
1. Anwendung von Multimedia in HTML_Flash-Animati...
Inhaltsverzeichnis 1. Referenz-Plugins im Uniapp ...
Excel ist das am häufigsten verwendete Tool zur D...
Was ist SQL? SQL ist eine Sprache zum Betrieb von...
Vorwort 1. Dieser Artikel verwendet MySQL 8.0 Ver...
Speicherort der MySQL-Datenbank: 1. Wenn MySQL di...
Der HTML-Kopfteil enthält viele Tags und Elemente,...
1. Die Bedeutung von Webstandards verstehen - War...
Inhaltsverzeichnis Vorwort Erster Blick auf React...