2014-01-13 16 views
1
DECLARE 
    l_d NUMBER; 
    l_day VARCHAR2(3); 
    l_new_day date; 
BEGIN 
SELECT my_day 
INTO l_d 
FROM ... 
WHERE id = ...; --results as 2 (monday) 

l_day := CASE l_d 
      WHEN 1 THEN 'SUN' 
      WHEN 2 THEN 'MON' 
      WHEN 3 THEN 'TUE' 
      WHEN 4 THEN 'WED' 
      WHEN 5 THEN 'THU' 
      WHEN 6 THEN 'FRI' 
      WHEN 7 THEN 'SAT' 
     END ; 
    l_new_day := next_day(sysdate, l_day); 
END; 

我們有沒有簡單的方法沒有使用CASE部分? 感謝提前任何幫助;)oracle next_day函數使用天數

+0

next_day(sysdate,l_d)會做! –

回答

2

你不需要找了一天的名字,只是做了簡單的與天數一樣,

SQL> SELECT next_day(sysdate, 2) FROM DUAL; 

NEXT_DAY(SYSDATE,2 
------------------ 
20-JAN-14 
+1

我沒有看到這個!涼! –

0

我覺得這個查詢可以幫助您:

Select to_char(sysdate, 'DY') FROM dual;