Oracle
 sql >> Database >  >> RDS >> Oracle

Come identificare i giorni della settimana in Oracle?

La tua versione di Oracle non riconosce il "giorno della settimana" perché non è un Funzione Oracle .

Puoi utilizzare il to_char() funzione per ottenere un numero del giorno, ma dipende dalle impostazioni NLS, quindi è più sicuro non rispondere. Anche i nomi dei giorni dipendono dalla lingua NLS, ma possono almeno essere sostituiti come parte della chiamata di funzione:

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

Il 'Dy' elemento di formato è descritto nella documentazione , insieme a tutti gli altri. Nota che 'DY' ti dà l'abbreviazione del giorno in maiuscolo e 'Day' o 'DAY' darti il ​​nome del giorno intero in misto/maiuscolo; ma quelli sono riempiti con spazi per impostazione predefinita (come lo sono le abbreviazioni in altre lingue...); ma potresti aggiungere un modificatore se vuoi che i nomi dei giorni interi siano leggibili:

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