Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Wie identifiziere ich Wochentage in Oracle?

Ihre Version von Oracle erkennt „Wochentag“ nicht, da dies kein Oracle-Funktion .

Sie können den to_char() Funktion um eine Tagesnummer zu erhalten, aber es hängt von den NLS-Einstellungen ab, also ist es sicherer, nicht darauf zu antworten. Tagesnamen sind auch NLS-Sprachabhängig, aber das kann zumindest als Teil des Funktionsaufrufs überschrieben werden:

where to_char(OR_Log.Surgery_Date, 'Dy', 'NLS_DATE_LANGUAGE=ENGLISH') not in ('Sat', 'Sun')

Der 'Dy' Formatelement ist in der Dokumentation beschrieben , zusammen mit allen anderen. Beachten Sie, dass 'DY' gibt Ihnen die Abkürzung des Tages in Großbuchstaben und 'Day' oder 'DAY' geben Sie den vollständigen Tagesnamen in gemischten/Großbuchstaben an; aber diese werden standardmäßig mit Leerzeichen aufgefüllt (wie Abkürzungen in anderen Sprachen ...); aber Sie könnten einen Modifikator hinzufügen, wenn Sie die vollständigen Tagesnamen für die Lesbarkeit wünschen:

where to_char(OR_Log.Surgery_Date, 'FMDay', 'NLS_DATE_LANGUAGE=ENGLISH') not in ('Saturday', 'Sunday')