Câu trả lời của Florin là tôi sẽ làm như thế nào, nhưng bạn cần phải cẩn thận một chút về cài đặt NLS. Các ngày trong tuần bị ảnh hưởng bởi các lãnh thổ NLS, vì vậy nếu tôi chạy như thể tôi đang ở Mỹ hoạt động:
alter session set nls_territory = 'AMERICA';
select to_char(sysdate, 'D') as d, to_char(sysdate, 'Day') as day from dual;
D DAY
- ------------------------------------
6 Friday
select level as dow,
to_char(trunc(sysdate ,'D') + level, 'Day') as day
from dual
connect by level <= 7;
DOW DAY
--- ------------------------------------
1 Monday
2 Tuesday
3 Wednesday
4 Thursday
5 Friday
6 Saturday
7 Sunday
Nhưng chạy cùng một truy vấn ở Anh là một ngày off:
alter session set nls_territory = 'UNITED KINGDOM';
select to_char(sysdate, 'D') as d, to_char(sysdate, 'Day') as day from dual;
D DAY
- ------------------------------------
5 Friday
select level as dow,
to_char(trunc(sysdate ,'D') + level, 'Day') as day
from dual
connect by level <= 7;
DOW DAY
--- ------------------------------------
1 Tuesday
2 Wednesday
3 Thursday
4 Friday
5 Saturday
6 Sunday
7 Monday
... và tôi cần phải điều chỉnh tính toán để điều chỉnh cho rằng:
select level as dow,
to_char(trunc(sysdate ,'D') + level - 1, 'Day') as day
from dual
connect by level <= 7;
DOW DAY
--- ------------------------------------
1 Monday
2 Tuesday
3 Wednesday
4 Thursday
5 Friday
6 Saturday
7 Sunday
bạn cũng có thể chỉ định ngôn ngữ sử dụng cho tên ngày riêng biệt nếu bạn muốn:
select level as dow,
to_char(trunc(sysdate ,'day') + level - 1, 'Day',
'NLS_DATE_LANGUAGE=FRENCH') as day
from dual
connect by level <= 7;
DOW DAY
--- --------------------------------
1 Lundi
2 Mardi
3 Mercredi
4 Jeudi
5 Vendredi
6 Samedi
7 Dimanche
Tài liệu cho to_char()
with nls_date_language
và day of the week và hơn thế nữa trong globalisation support guide.
Đây ban đầu là một câu hỏi rất kém. Tuy nhiên, nó đã được chỉnh sửa và làm rõ và bây giờ là một câu hỏi rất hữu ích. Các câu trả lời trên trang này đã giúp tôi rất nhiều với việc đơn giản hóa một vấn đề Oracle (ban đầu) khó khăn. Những câu trả lời này không có sẵn ở nơi khác. Câu hỏi này xứng đáng được đánh giá lại và có thể mở cửa trở lại. –
Đó là một câu hỏi thực sự ngay bây giờ. –