Zusammenfassung der in MySQL häufig verwendeten Typkonvertierungsfunktionen (empfohlen)

Zusammenfassung der in MySQL häufig verwendeten Typkonvertierungsfunktionen (empfohlen)

1. Concat-Funktion.

Häufig verwendete Verbindungszeichenfolge: Concat-Funktion. Beispielsweise die ähnliche Abfrage der SQL-Abfragebedingung UND c.name wie concat(#{param.name},'%')

Die concat-Funktion wird häufig verwendet, um Int in varchar umzuwandeln. Beispielsweise erhält concat(8,'0') die Zeichenfolge '80'.

2. Cast-Funktion; CONVERT-Funktion.

Verwendung: CAST(Ausdruck AS Typ), CONVERT(Ausdruck, Typ), CONVERT(Ausdruck USING Transcoding_Name).

Wählen Sie "Konvertieren" aus ('abc' unter Verwendung von utf8);

Konvertieren Sie varchar in Int mit cast(str as unsigned). str ist ein String vom Typ varchar.

Beispielsweise eine häufig verwendete Prozentumrechnung:

Wählen Sie Cast((1/3)*100 als UNSIGNED) als Prozentsatz vom Dual;

Ergebnis: 33

Parameter der MySQL-Typkonvertierungsfunktion: CAST(xxx AS-Typ), CONVERT(xxx, Typ)
Der Typ kann einen der folgenden Werte haben:
BINÄR[(N)]
CHAR[(N)]
DATUM
DATETIME
DEZIMAL
SIGNED [GANZZAHL]
ZEIT
UNSIGNED [GANZZAHL]

Ganzzahl: SIGNED
Vorzeichenlose Ganzzahl: UNSIGNED
Binär, mit dem binären Präfix: BINARY
Zeichentyp, kann Parameter annehmen: CHAR()
Datum: DATE
Zeit: ZEIT
Datums- und Uhrzeittyp: DATETIME
Gleitkommazahlen: DECIMAL

mysql> SELECT BINARY 'a' = 'A';

    -> 0

3. WENN-Funktion

In MySQL ist if eine Funktion und kein Befehl

WENN(Ausdruck1,Ausdruck2,Ausdruck3)
Wenn expr1 wahr ist (expr1 <> 0 und expr1 <> NULL), dann gibt IF() expr2 zurück, andernfalls expr3. IF() gibt je nach Kontext eine Zahl oder eine Zeichenfolge zurück:

mysql> AUSWÄHLEN, WENN (1>2,2,3);
  -> 3
mysql> AUSWÄHLEN, WENN(1<2,'ja','nein');
  -> 'ja'
mysql> AUSWÄHLEN, WENN (STRCMP('test', 'test1'), 'nein', 'ja');
  -> 'nein'

Wenn expr2 oder expr3 explizit NULL ist, ist der Rückgabetyp der IF()-Funktion der Typ der Nicht-NULL-Spalte. (Diese Option ist neu in MySQL 4.0.3). expr1 wird als Integer-Wert ausgewertet, das heißt, wenn ein Gleitkomma- oder String-Wert getestet wird, muss ein Vergleich durchgeführt werden:

mysql> AUSWÄHLEN, WENN (0,1,1,0);
 -> 0
mysql> AUSWÄHLEN, WENN (0,1<>0,1,0);
 -> 1

Im ersten Fall oben gibt IF(0,1) 0 zurück, da 0,1 in einen ganzzahligen Wert umgewandelt wird und das Ergebnis des Tests von IF(0) zurückgibt. Dies entspricht möglicherweise nicht Ihren Erwartungen. Im zweiten Fall prüft der Vergleich, ob die ursprüngliche Gleitkommazahl ein von Null verschiedener Wert ist. Das Ergebnis des Vergleichs wird als Ganzzahl verwendet. Der Standard-IF()-Rückgabewerttyp (der wichtig ist, wenn das Ergebnis in einer temporären Tabelle gespeichert wird) wird in MySQL 3.23 wie folgt bestimmt:

Der Ausdruck (expr2) oder Ausdruck (expr3) gibt eine Zeichenfolge zurück

Der Ausdruck (expr2) oder Ausdruck (expr3) gibt einen Gleitkommawert zurück.

Der Ausdruck (expr2) oder Ausdruck (expr3) gibt eine Ganzzahl zurück.

Wenn sowohl expr2 als auch expr3 Zeichenfolgen sind und bei beiden Zeichenfolgen die Groß-/Kleinschreibung nicht beachtet wird, wird beim Rückgabewert ebenfalls die Groß-/Kleinschreibung nicht beachtet (Stand MySQL 3.23.51).

Oben finden Sie eine Zusammenfassung der häufig verwendeten MySQL-Typkonvertierungsfunktionen, die ich Ihnen vorgestellt habe. Ich hoffe, dass sie Ihnen hilfreich sein werden. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!

Das könnte Sie auch interessieren:
  • Beheben von Problemen mit impliziter MySQL-Konvertierung
  • Zusammenfassung der impliziten Typkonvertierung von MySQL
  • MySQL implizite Typkonvertierungsfallen und Regeln
  • MySQL-Zeitdifferenzfunktionen (TIMESTAMPDIFF, DATEDIFF), Funktionen zur Berechnung von Datumsumrechnungen (date_add, day, date_format, str_to_date)
  • So konvertieren Sie MySQL-Datenbankdaten mit Python in JSON-Daten
  • MySQL-Datumsfunktionen und Datumskonvertierungs- und -formatierungsfunktionen
  • Eine kurze Analyse der expliziten Typkonvertierung von MySQL
  • MySQL NULL-Datenkonvertierungsmethode (unbedingt lesen)
  • Sprechen Sie über implizite Konvertierung in MySQL

<<:  So implementieren Sie einen Kennwortstärke-Detektor in React

>>:  So führen Sie Hadoop aus und erstellen Images in Docker

Artikel empfehlen

Detaillierte Analyse des langsamen Abfrageproblems beim Senden von MySQL-Daten

Anhand eines Beispiels habe ich Ihnen die Lösung ...

jQuery-Plugin zur Implementierung eines gestapelten Menüs

Jeden Tag ein jQuery-Plugin - gestapeltes Menü. Z...

So verhindern Sie mit Nginx die böswillige Auflösung von IP-Adressen

Zweck der Verwendung von Nginx Lassen Sie uns zun...

Zusammenfassung der in MySQL häufig verwendeten Verkettungsanweisungen

Vorwort: In MySQL wird die Funktion CONCAT() verw...

Tipps zum Festlegen von HTML-Tabellenrändern

Für viele HTML-Neulinge ist die Tabelle <table...

Allgemeiner HTML-Seitenstil (empfohlen)

Wie unten dargestellt: XML/HTML-CodeInhalt in die...

Größe von PNG-Bildern mit CSS-Maske deutlich optimieren (empfohlen)

Dieser Artikel darf gerne geteilt und zusammengef...

Detaillierte Erklärung zum schnellen Erstellen einer Blog-Website mit Docker

Inhaltsverzeichnis 1. Vorbereitung 2. Bereitstell...

4 Möglichkeiten zur Optimierung von MySQL-Abfragen für Millionen von Daten

Inhaltsverzeichnis 1. Der Grund, warum das Limit ...