なぜアプリケーションエラーが発生しないのですか?匿名ブロックで同じコードを実行すると、アプリケーションエラーが発生します。Oracle - 関数からアプリケーションエラーを発生させる方法
CREATE OR REPLACE FUNCTION uf_todate(dt IN date)
RETURN VARCHAR2
IS
BEGIN
IF dt < to_date('01.01.1900','dd.mm.yyyy') THEN
raise_application_error(-20001, 'Date is less than 1/1/1900.');
END IF;
RETURN nvl(upper(to_char(dt ,'dd-mon-yyyy', 'NLS_DATE_LANGUAGE=English')), '31-DEC-9999');
END;
これはOracle 12cです。
どのように機能を呼び出すのですか? –
それは私のために働いています。関数のパラメータに日付の値を正しく割り当ててもよろしいですか? – pablomatico
など。 '二重から' uf_todate(to_date('01 .01.1800 '、' dd.mm.yyyy '))を選択します。 SQL Developerから呼び出すと効果がありますか? 01-JAN-1800を返します。 – Rubio