Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como identificar os dias da semana no Oracle?


Sua versão do Oracle não reconhece 'dia da semana' porque isso não é um Função Oracle .

Você pode usar o to_char() função para obter um número de dia, mas depende das configurações de NLS, portanto, é mais seguro não responder. Os nomes dos dias também dependem do idioma NLS, mas isso pode pelo menos ser substituído como parte da chamada de função:
where to_char(OR_Log.Surgery_Date, 'Dy', 'NLS_DATE_LANGUAGE=ENGLISH') not in ('Sat', 'Sun')

O 'Dy' elemento de formato está descrito na documentação , juntamente com todos os outros. Observe que 'DY' fornece a abreviação do dia em letras maiúsculas e 'Day' ou 'DAY' dar-lhe o nome do dia completo em letras maiúsculas/misturadas; mas esses são preenchidos com espaços por padrão (assim como as abreviações em outros idiomas...); mas você pode adicionar um modificador se quiser os nomes do dia inteiro para facilitar a leitura:
where to_char(OR_Log.Surgery_Date, 'FMDay', 'NLS_DATE_LANGUAGE=ENGLISH') not in ('Saturday', 'Sunday')