- Falsche Ergebnisse in
cast - Nur hexadezimal, nicht binär oder oktal
- Nur in Literalen, nicht in
cast - Auch mit Unterstrichen (_) zwischen den Ziffern
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).
- Liefert keinen Fehler, aber ein falsches Ergebnis. Z. B. nur die „0“ vor dem ersten Buchstaben
Related
- Optional Features
Normative References
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.

