Phiên bản Oracle của bạn không nhận dạng được 'ngày trong tuần' vì đó không phải là Hàm Oracle .
Bạn có thể sử dụng to_char()
chức năng
để lấy số ngày, nhưng nó phụ thuộc vào cài đặt NLS, vì vậy không nên trả lời trên đó an toàn hơn. Tên ngày cũng phụ thuộc vào ngôn ngữ NLS, nhưng tên đó ít nhất có thể được ghi đè như một phần của lệnh gọi hàm:
where to_char(OR_Log.Surgery_Date, 'Dy', 'NLS_DATE_LANGUAGE=ENGLISH') not in ('Sat', 'Sun')
'Dy'
phần tử định dạng được mô tả trong tài liệu
, cùng với tất cả những người khác. Lưu ý rằng 'DY'
cung cấp cho bạn chữ viết tắt của ngày bằng chữ hoa và 'Day'
hoặc 'DAY'
cung cấp cho bạn tên đầy đủ của ngày bằng chữ hoa / hỗn hợp; nhưng chúng được đệm bằng dấu cách theo mặc định (cũng như các chữ viết tắt trong các ngôn ngữ khác ...); nhưng bạn có thể thêm công cụ sửa đổi nếu bạn muốn tên đầy đủ của ngày để dễ đọc:
where to_char(OR_Log.Surgery_Date, 'FMDay', 'NLS_DATE_LANGUAGE=ENGLISH') not in ('Saturday', 'Sunday')