Oracle使用存储函数从身份证中提取性别

CREATE OR REPLACE FUNCTION XINGBIE(CARD VARCHAR2) RETURN VARCHAR2 IS
  XB VARCHAR2(3);
BEGIN
  SELECT DECODE(MOD(TO_NUMBER(SUBSTR(REPLACE(CARD, ' ', ''), 17, 1)), 2), 0, '', '') INTO XB FROM DUAL;
  RETURN XB;
EXCEPTION
  WHEN OTHERS THEN
    DBMS_OUTPUT.PUT_LINE('异常:');
    DBMS_OUTPUT.PUT_LINE(SQLCODE || SQLERRM);
    RETURN '';
END;

--调用函数
SELECT xingbie('610528200211202416') FROM dual

 

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