Oracle使用存储函数从身份证中提取出生年月

CREATE OR REPLACE FUNCTION nianyue(CARD VARCHAR2) RETURN VARCHAR2 IS
NY DATE;
BEGIN
  SELECT to_date(to_char(substr(REPLACE(CARD, ' ', ''),7,8)),'YYYYMMDD') INTO ny FROM dual;
  RETURN ny;
EXCEPTION
  WHEN OTHERS THEN  
    DBMS_OUTPUT.PUT_LINE('异常:'); 
    DBMS_OUTPUT.PUT_LINE(SQLCODE||sqlerrm); 
    RETURN ''; 
  END;
  
--调用函数
SELECT nianyue('610528  198911202426') FROM dual

 

posted @ 2022-11-03 09:12  我是小二  阅读(600)  评论(0)    收藏  举报