SQL-Änderungen: Neue Formatelemente für Datum und Uhrzeit (Ausstehend)

Achtung

Diese Verhaltensänderung ist in Bundle 2026_03 enthalten.

Den aktuellen Status des Bundles finden Sie unter Bundle-Verlauf.

Wenn dieses Verhaltensänderungs-Bundle aktiviert ist, werden neue Formatelemente im Kurzform für Datum und Uhrzeit aktiviert, was sich auf die Formatierung von Datum und Uhrzeit und die Parsing-Logik auswirkt.

Vor der Änderung:

Die folgenden Formatelemente wurden bei der Umwandlung von Datum/Uhrzeit zu Zeichenfolge bzw. Zeichenfolge zu Datum/Uhrzeit als Literalzeichen analysiert und serialisiert: Y, MO, D, H24, H12, H, ME, S, P

Nach der Änderung:

Die folgenden neuen Formatelemente werden jetzt von der Parsing- und Formatierungslogik interpretiert:

  • Y für „year“ (nicht aufgefüllt)

  • MO für „month“ (nicht aufgefüllt)

  • D für „day“ (nicht aufgefüllt)

  • H24 für Stunde im 24-Stunden-Format (nicht aufgefüllt)

  • H12 für Stunde im 12-Stunden-Format (nicht aufgefüllt)

  • H als Synonym für H24

  • ME für „minute“ (nicht aufgefüllt)

  • S für „second“ (nicht aufgefüllt)

  • P für einen einstelligen AM /PM-Indikator (A für AM oder P für PM)

Jede Verwendung dieser Zeichen oder Sequenzen ohne Anführungszeichen wird als Formatelement statt als Literal interpretiert.

Diese Verhaltensänderung kann eine grundlegende Änderung für Benutzende darstellen, die diese neuen Formatelemente als Zeichen ohne Anführungszeichen in ihren Formatmodellen für DATE, TIME, TIMESTAMP_LTZ, TIMESTAMP_NTZ oder TIMESTAMP_TZ verwendet haben.

Beispiel:

  • Bisher würde SELECT TO_CHAR(current_timestamp(), 'YYYY-MM-DD JST') die Sequenz „JST“ als Literalzeichen, z. B. 2026-03-18 JST, ausgeben.

  • Nun, wird das S in JST als „zweites“ Formatelement interpretiert, und die Formatierungslogik fügt einen numerischen Wert ein: 2026-03-18 J47T.

Was Sie tun müssen

Wenn Sie eines dieser neuen Formatelemente als Zeichen oder Zeichenfolgen ohne Anführungszeichen in Ihren Formatmodellen verwenden, setzen Sie alle Teile des Formatmodells in Anführungszeichen, die als Literalzeichen beibehalten werden sollen. Beispiel:

-- Before (incorrect after this change):
SELECT TO_CHAR(current_timestamp(), 'YYYY-MM-DD JST');

-- After (corrected):
SELECT TO_CHAR(current_timestamp(), 'YYYY-MM-DD "JST"');

Ref: 2281