cast
cast
cast
nur eingeschränktDer SQL-Standard erlaubt es Systemen, Unterstriche (_
) in Zahlen, die direkt in eine SQL-Anweisung geschrieben sind (Literale) zu ignorieren. Das kann man nutzen, um die Lesbarkeit von Zahlen zu verbessern.
SELECT 1_000_000
, 0.000_001
, 1_2.3_4e5_6
FROM …
Unterstriche sind bei allen Literal-Typen erlaubt: In ganze Zahlen, in „Kommazahlen“ und in der Exponentialschreibweise („wissenschaftlichen Notation“). Wenn das System auch Binär-, Oktal- und Hexadezimal-Zahlen unterstützt, ist der Unterstrich auch dort erlaubt. Unterstriche dürfen jedoch nur zwischen zwei Ziffern (des Zahlensystems) stehen und es ist jeweils nur ein Unterstrich zwischen zwei Ziffern erlaubt. Ansonsten gibt es keine Einschränkung – insbesondere muss man damit keine Gruppen aus drei Ziffern bilden.
Die Syntax für Zahlenliterale kommt auch bei einer Typenkonvertierung von Zeichenketten auf Zahlen zum Tragen.0 Daher sind Unterstriche auch in Ausdrücken wie diesem erlaubt: cast('1_000' as integer)
.
T661, „Non-decimal integer literals“
Der Unterstrich (_
) als Gruppenteiler in Zahlen ist in ISO/IEC 9075-2:2023 als optionale Funktion T662, „Underscores in numeric literals“ definiert. Sie erschien erstmals in 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 and ISO/IEC 9075-2:2023 §6.13 GR 9b