2016-03-03 57 views
-2

我真的很感謝som幫助創建一個函數,我是oracle sql!該函數應該以'YYYY-MM-DD:HH24:MI'的形式返回sysdate! 這是我想出了,但將無法正常工作使用sysdate在Oracle中創建一個函數

Create function get_återdatum return number as 
    NU varchar2(20)NOT NULL; 
    Begin 
    SELECT to_char(sysdate,'YYYY-MM-DD:HH24:MI') into NU from DUAL; 
    Return(NU); 
    End; 
    /

回答

0

正確的語法是

CREATE FUNCTION get_återdatum RETURN VARCHAR2 IS 
    NU varchar2(20); 
BEGIN 
    SELECT to_char(sysdate, 'YYYY-MM-DD:HH24:MI') INTO NU FROM DUAL; 
    RETURN NU; 
END; 
/

IS代替ASNOT NULL是不必要的(實際上是要求你初始化變量),()在return語句是不必要的,並且您還想返回VARCHAR2而不是number,最後 - 您可能需要考慮CREATE OR REPLACE而不是普通的CREATE

編輯:爲@ nop77svk指出的那樣,你可以完全忽略的選擇,只是做

CREATE OR REPLACE FUNCTION get_återdatum RETURN VARCHAR2 IS 
BEGIN 
    RETURN to_char(sysdate, 'YYYY-MM-DD:HH24:MI'); 
END; 
/
+0

哦,我的上帝,感謝你這麼多:-D這給正確的輸出 –

+1

@SaraReimertz,沒問題,如果一個答案可以幫助你解決你的問題,考慮將其標記爲已接受,以清楚地表明你的問題得到了解答,謝謝 – radoh

+1

@radoh,考慮從dual刪除select,並在PL/SQL中簡單地進行字符串轉換。 – nop77svk

相關問題