700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 【PL/SQL】测试函数时 日期参数的输入格式

【PL/SQL】测试函数时 日期参数的输入格式

时间:2019-05-23 04:43:37

相关推荐

【PL/SQL】测试函数时 日期参数的输入格式

如果在PL/SQL中测试,输入格式为xxxx/xx/xx;

如果使用select function_name(xx,xx) from dual; 测试函数时,日期参数需要使用to_date('xxxx-xx-xx','YYYY-MM-DD') 或者date'xxxx-xx-xx' 进行类型转换。

下面是一个函数例子,函数中V_QRP_RQ参数类型为date:

--创建测试表,并插入数据CREATE TABLE ccb_gyb (ACCOUNTING_DATE DATE,RMB_YTD_BALANCE NUMBER,CNY_YTD_BALANCE NUMBER,USD_YTD_BALANCE NUMBER);CREATE UNIQUE INDEX CCB_GYB_INX ON CCB_GYB (ACCOUNTING_DATE);INSERT INTO ccb_gyb VALUES (DATE'-12-01',12,17,4);COMMIT;--创建函数CREATE OR REPLACE FUNCTION GETCURRBAL(V_QRP_RQ DATE, --报表日期V_QRP_CODE VARCHAR2 --币种) RETURN NUMBER ISV_AMOUNT NUMBER;V_DATE DATE;BEGINSELECT ACCOUNTING_DATEINTO V_DATEFROM CCB_GYBWHERE ACCOUNTING_DATE = V_QRP_RQ;IF V_QRP_CODE = 'RMB' THENSELECT RMB_YTD_BALANCEINTO V_AMOUNTFROM CCB_GYBWHERE V_QRP_CODE = 'RMB'AND ACCOUNTING_DATE = V_DATE;END IF;IF V_QRP_CODE = 'CNY' THENSELECT CNY_YTD_BALANCEINTO V_AMOUNTFROM CCB_GYBWHERE V_QRP_CODE = 'CNY'AND ACCOUNTING_DATE = V_DATE;END IF;IF V_QRP_CODE = 'USD' THENSELECT USD_YTD_BALANCEINTO V_AMOUNTFROM CCB_GYBWHERE V_QRP_CODE = 'USD'AND ACCOUNTING_DATE = V_DATE;END IF;RETURN V_AMOUNT;END;

(1)使用PL/SQL调用,输入参数格式为:

(2)使用select调用,如下:

SELECT GETCURRBAL(date'-12-1','RMB') FROM dual;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。