ORACLE和DB2判断日期是否合法
来源:互联网 发布:java动态bean 编辑:程序博客网 时间:2024/06/06 05:26
今天校验数据的时候,在A环境写了一个日期是否合法的校验函数,脚本正常执行,导入B环境,提示日期校验函数错误。分析很久,始终没有找到问题,最后才发现,原来A环境为DB2,B环境为ORACLE。在这两个环境下实现是否为日期的函数差别挺大,下面做一个简单的分析。
DB2环境函数实现如下:
CREATE OR REPLACE FUNCTION "GETISDATE" ( "VI_DATE" VARCHAR(20) )RETURNS INTEGER
SPECIFIC "SQLXXXXXX"
LANGUAGE SQL
NOT DETERMINISTIC
EXTERNAL ACTION
READS SQL DATA
BEGIN
DECLARE V_DATE DATE;
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
RETURN 0;
END;
IF LENGTH(VI_DATE) <> 8 THEN
RETURN 0;
END IF;
SET V_DATE = TO_DATE(VI_DATE,'YYYYMMDD');
IF V_DATE IS NULL THEN
SET V_DATE= CURRENT DATE;
END IF;
RETURN 1;
END
RETURNS TYPE : 所创建的函数返回的类型。
SPECIFIC "SQLXXXXXX":为函数指定特定的名称SQLXXXXXX。
DETERMINISTIC: 指定是否每当以相同的一组输入参数执行函数时,都返回相同的结果。 确定性(Deterministic)函数包括数学函数和不依赖于表中数据或变化数据源的函数。
EXTERNAL ACTION: 指定函数对外部程序是否有影响。
READS SQL DATA表示子程序包含读数据的语句,但不包含写数据的语句。另外两种函数与数据库交互方式为CONTAINS,MODIFIES。
DECLARE EXIT HANDLER FOR SQLEXCEPTION:异常处理, 当出现SQL错误的时候,中断程序执行过程,跳出存储过程
ORACLE环境函数实现如下:
CREATE OR REPLACE FUNCTION GETISDATE(VI_DATE IN VARCHAR2)
RETURN INT
IS
RESULT DATE;
BEGIN
RESULT:= TO_DATE(VI_DATE,'YYYYMMDD');
RETURN 1;
EXCEPTION
WHEN OTHERS THEN RETURN 0;
END;
- ORACLE和DB2判断日期是否合法
- oracle判断日期是否合法
- Oracle中判断日期是否合法 is_date 函数
- javascript判断日期是否合法
- 判断日期是否合法
- 判断输入日期是否合法
- 判断日期是否合法的方法
- JS判断日期格式是否合法
- db2日期函数和oracle的区别
- db2日期函数和oracle的区别
- 如何判断日期变量的输入是否合法
- 用javascript判断录入的日期是否合法
- javascript判断用户输入是否合法日期格式
- 判断输入的日期是否合法的javascript
- strptime的使用,判断日期是否合法
- 判断日期是否合法的正则表达式
- 判断手机和Email是否合法
- DB2日期和时间
- Java学习笔记:Servlet
- Maven安装和配置
- 广通软件前端笔试
- 关于ARM LCD驱动不错的文章
- 口胡dp题
- ORACLE和DB2判断日期是否合法
- 约瑟夫环—数据结构小问题
- 高可用(HA)集群之keepalived 安装
- Docker的安装,配置,更新和卸载
- 系统管理
- 微信小程序遍历循环中点击添加样式
- 1014. 福尔摩斯的约会 (20)
- 【NOIP2017提高A组集训10.22】公交运输
- JSP基础(十四)——使用JDBC的Statement对象和PreparedStatement对象对数据库进行CRUD