2010-07-09 118 views
0

我有以下SQL查詢:轉換查詢到Oracle

SELECT 
@weekenddtm = CONVERT(VARCHAR,DATEADD(DD,(7 - DATEPART(DW,@p_end_dtm)),@p_end_dtm),111) 

,我嘗試使用此查詢其轉換到Oracle:

v_weekenddtm := CAST(p_end_dtm + NUMTODSINTERVAL((7-TO_NUMBER(TO_CHAR(p_end_dtm,'D'))),'DAY') AS DATE); 

,但它給我的錯誤。任何想法如何繼續?

+0

你想如何「從SQL轉換」?與所有主要的RDBMS一樣,Oracle也使用SQL。 SQL是所有主要數據庫系統的數據查詢和數據定義語言...... – 2010-07-09 07:57:37

+0

如果您發佈代碼或XML,請**在文本編輯器中突出顯示這些行,然後單擊「代碼」按鈕(101 010)在編輯器工具欄上進行很好的格式化和語法突出顯示! – 2010-07-09 07:58:55

+1

此外,如果您複製並粘貼了錯誤消息,則不是「錯誤」,而是「幫助」。 「從SQL到Oracle *」*「 – 2010-07-09 08:27:59

回答

1

p_end_dtm和v_weekend_dtm的數據類型是什麼?如果你的代碼如下所示:

declare 
    p_end_dtm timestamp; 
    v_weekend_dtm date; 
begin 
    v_weekend_dtm := CAST(p_end_dtm+ NUMTODSINTERVAL((7-TO_NUMBER(TO_CHAR(p_end_dtm,'D'))),'DAY') AS DATE); 
end;