【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'2017-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'2017-12-1','RMB') FROM dual;
【PL/SQL】测试函数时,日期参数的输入格式相关推荐
- 在PL/SQL里直接插入日期时提示 is not a valid date and time的解决方法
在PL/SQL里直接插入日期时提示 is not a valid date and time的解决方法 参考文章: (1)在PL/SQL里直接插入日期时提示 is not a valid date a ...
- pl/sql 测试函数_如何在SQL单元测试中使用伪函数?
pl/sql 测试函数 In this article series, we are exploring SQL unit testing, in general, and also we are r ...
- PL\SQL 打开时出现动态执行表不可访问,本会话的自动统计被禁止
PL\SQL 打开时出现"动态执行表不可访问,本会话的自动统计被禁止" 博客分类: 数据库 SQLBlog 转自:http://hi.baidu.com/victorlin23/ ...
- PL/SQL连接时-Error while trying to retrieve text for error ORA-12154
PL/SQL连接时-Error while trying to retrieve text for error ORA-12154 报错时,有没有伴随其他问题,优先解决其他的. 1.重启Oracle所 ...
- Sql Developer 和 PL/SQL Developer工具日期显示格式问题
一.Sql Developer工具日期显示格式问题 默认的显示方式太丑了: 设置方法:工具->首选项->数据库->NLS->日期格式: DD-MON-RR 修改为: YYYY- ...
- python传递参数给sql_Python MySQLdb 执行sql语句时的参数传递方式
使用MySQLdb连接数据库执行sql语句时,有以下几种传递参数的方法. 1.不传递参数 conn = MySQLdb.connect(user="root",passwd=&qu ...
- Python连接MySQL数据库执行sql语句时的参数问题
由于工作需要,今天写了一个Python小脚本,其中需要连接MySQL数据库,在执行sql命令时需要传递参数,结果出问题了.在网上查了一下,发现有以下几种方式传递参数: 一.直接把sql查询语句完整写入 ...
- PL/SQL Developer设置日期格式
PL/SQL Developer中设置日期格式的方法 在Tools –> Preferences –> User Interface –> Date/Time 中设置日期格式 如下图 ...
- trunc怎么进行日期相减_【PL/SQL】 关于日期操作的常见需求
需求1: 统计一年内所有是星期三的日期.思路: 枚举法,将整年所有日期都罗列出来,然后再用Where条件筛选.Step1: 求出当年的起初日期1/1和最后一天12/31(可省略) SELECT ADD ...
最新文章
- command not found: ls_内饰更加奢华 新款雷克萨斯LS将于广州车展亮相
- 【数据结构与算法】之深入解析“缺失的第一个正数”的求解思路与算法示例
- php网站调试出现的简单问题,调试php时网站出现502的解决方法
- 《重返人类演化现场》阅读笔记
- Failed to install Tomcat7 service 解决
- 新款iPhone SE并未搭载U1超宽带芯片,后续恐不支持AirTag
- FPGA学习---Modelsim自动仿真
- 盘点遥测终端RTU怎么分类?
- 20170403_Windows网络编程视频学习1
- Jsonp跨域原理及实现
- pycharm没有python interpreter_pycharm无法设置interpreter?
- BTC公钥生成地址的过程详解
- 【ELM预测】基于极限学习机ELM实现数据预测matlab源码
- pc端ncnn搭建与测试
- Unity(Animation和Animator)
- 朋友入职中软一个月(外包华为)就离职了
- 初步认识数据库:数据、数据库、数据库管理系统、数据库系统分别是什么?
- 144hz和60hz测试软件,144hz和60hz显示器的区别是什么?显示器144hz和60hz游戏差别对比...
- python基础 判断题
- 凉了7年的快播,登上排行榜第一
热门文章
- mysql 61_MySQL 连接错误Can't connect to MySQL server on (61)
- Flex3 DataGrid拖拽到ClumnChart动态显示图表
- android Camera 中的相关概念
- Android中如何设置RadioButton在文字的右边,图标在左边
- JPA、Hibernate、Springdata JPA
- Direct3D提高篇:HLSL编程实现PhotoShop滤镜效果 - 锐化模糊
- Download Android source code
- BZOJ3240 NOI2013矩阵游戏(数论)
- SSH框架之-hibernate 三种状态的转换
- 冒泡排序及优化(Java实现)