sql >> Base de Datos >  >> RDS >> Oracle

¿Cómo identificar los días de la semana en Oracle?

Su versión de Oracle no reconoce el 'día de la semana' porque no es un Función de Oracle .

Puede usar el to_char() función para obtener un número de día, pero depende de la configuración de NLS, por lo que es más seguro no responder. Los nombres de los días también dependen del idioma de NLS, pero eso al menos puede anularse como parte de la llamada a la función:

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

El 'Dy' elemento de formato se describe en la documentación , junto con todos los demás. Tenga en cuenta que 'DY' le da la abreviatura del día en mayúsculas y 'Day' o 'DAY' darle el nombre completo del día en mayúsculas/mixtas; pero esos están rellenos con espacios por defecto (al igual que las abreviaturas en otros idiomas...); pero podría agregar un modificador si desea que los nombres completos de los días sean legibles:

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