cast
cast
Der SQL-Standard definiert eine Syntax zur Verwendung von binären, oktalen und hexadezimalen Zahlen in SQL-Anweisungen.
SELECT 0b101010
, 0o52
, 0x2A
FROM …
Dafür muss der jeweiligen Zahl 0b
für Binär, 0o
für Oktal oder 0x
für Hexadeximal vorangestellt werden. Zwischen diesem Präfix und der eigentlichen Zahl darf kein Leerraum stehen. Bei den Buchstaben wird nicht zwischen Groß- und Kleinschreibung unterschieden. Weder im Präfix noch in den hexadezimalen Zahlen selbst.
Die Syntax für Zahlenliterale kommt auch bei einer Typenkonvertierung von Zeichenketten auf Zahlen zum Tragen.0 Daher sind die Beispiele auch in Ausdrücken wie diesem erlaubt: cast('0o52' as integer)
.
Ganzzahlige Literale mit der Basis 2, 8, oder 16 sind in ISO/IEC 9075-2:2023 als optionale Funktion T661, „Non-decimal integer literals“ definiert. Diese Funktion erschien erstmals mit der Ausgabe von 2023.
20 Jahre SQL-Evolution kann man nicht an einem Tag nachholen. Abonniere den Newsletter via E-Mail, Bluesky oder RSS, um sukzessive aufzuholen und modern-sql.com am Radar zu behalten.
Markus verwandelt veraltetes SQL-92-Wissen in solides und zeitgemäßes SQL-Know-how
ISO/IEC 9075-2:2023 §6.13 GR 8b