db2 判定是否日期
答案:2 悬赏:0 手机版
解决时间 2021-03-15 12:27
- 提问者网友:几叶到寒
- 2021-03-14 16:22
db2 判定是否日期
最佳答案
- 五星知识达人网友:第幾種人
- 2021-03-14 17:09
如果格式固定的话, 可以尝试 TO_DATE 再捕获异常的方式进行处理。
CREATE FUNCTION ISDATE(p_date varchar(10))
RETURNS INT
LANGUAGE SQL
BEGIN
-- 错误标志
DECLARE v_result INT;
DECLARE v_date DATE;
-- 定义错误处理
-- 如果发生错误,继续处理
-- 但是把标志位设置为 0
DECLARE CONTINUE HANDLER
FOR
SQLEXCEPTION SET v_result=0;
-- 错误标志,首先设置为正常.
SET v_result = 1;
SET v_date = TO_DATE(p_date, 'YYYY-MM-DD');
return v_result;
END
@
db2 => select
db2 (cont.) => isdate('2012-10-10') A,
db2 (cont.) => isdate('2012-13-13') B
db2 (cont.) => FROM
db2 (cont.) => SYSIBM.SYSDUMMY1@
A B
----------- -----------
1 0
1 条记录已选择。
CREATE FUNCTION ISDATE(p_date varchar(10))
RETURNS INT
LANGUAGE SQL
BEGIN
-- 错误标志
DECLARE v_result INT;
DECLARE v_date DATE;
-- 定义错误处理
-- 如果发生错误,继续处理
-- 但是把标志位设置为 0
DECLARE CONTINUE HANDLER
FOR
SQLEXCEPTION SET v_result=0;
-- 错误标志,首先设置为正常.
SET v_result = 1;
SET v_date = TO_DATE(p_date, 'YYYY-MM-DD');
return v_result;
END
@
db2 => select
db2 (cont.) => isdate('2012-10-10') A,
db2 (cont.) => isdate('2012-13-13') B
db2 (cont.) => FROM
db2 (cont.) => SYSIBM.SYSDUMMY1@
A B
----------- -----------
1 0
1 条记录已选择。
全部回答
- 1楼网友:詩光轨車
- 2021-03-14 18:24
自定义函数可以吗?
再看看别人怎么说的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯