如何在where语句中使用Oracle函数(已创建)?我有这样的事情:
SELECT a, b, c
FROM x.y
WHERE d = function('x')
答案 0 :(得分:0)
给定SQL范围中定义的函数:
CREATE FUNCTION fnct( value VARCHAR2 ) RETURN VARCHAR2
AS
BEGIN
RETURN value;
END;
/
您可以完全按照问题中的说明调用它:
SELECT *
FROM DUAL
WHERE dummy = fnct( 'X' );
或者在PL / SQL中:
DECLARE
value VARCHAR2(10);
BEGIN
SELECT dummy
INTO value
FROM DUAL
WHERE dummy = fnct('X');
END;
/
答案 1 :(得分:-1)
尝试下面它会对你有用
SELECT a, b, c
FROM x,y
WHERE d = (select function('x') from dual);
使用PLSQL匿名块。
declare
z number;
begin
SELECT a
into z
FROM test
WHERE a = late_return_fee (2,3);
end;