【发布时间】:2011-03-24 20:08:39
【问题描述】:
我正在尝试在 Oracle 中创建一个用户定义的函数,当给定包含日期子字符串的文本参数时,它将返回一个 DATE。我尝试了几种写法,似乎都抛出了同样的错误:
CREATE OR REPLACE FUNCTION lm_date_convert (lm_date_in IN VARCHAR2(50))
RETURN DATE DETERMINISTIC IS
BEGIN
RETURN(TO_DATE(REGEXP_REPLACE(lm_date_in, '([[:digit:]]{2})[-/.]*([[:digit:]]{2})[-/.]*([[:digit:]]{4})','\3-\1-\2'), 'YYYY-MM-DD'));
END;
错误:
功能 lm_date_convert 已编译。 1/46
PLS-00103:遇到 期待其中之一时的符号“(” 以下::= 。 ) , @% 默认字符 符号 ":=" 被替换为 "(" 到 继续。
欢迎对此提出任何想法,以及一般的 UDF 写作技巧(和良好的参考资料)!谢谢。
【问题讨论】:
标签: oracle function plsql user-defined-functions pls-00103