db2sql判斷字符串是否是日期格式?
如果格式固定的話, 可以嘗試 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@