我在想必须有一个函数可以充当阈值,这样我就不需要在我的代码中添加一堆 if-then-elses。
我写了一个 UDF 来做我需要的事情,但是如果有人知道 PL/SQL 函数或代码,我可以说类似的话;
X := APPLY_THRESHOLD(LASTNAME_SCORE,PATIENT_LASTNAME_THRESHOLD,0);
其中 X 可以是 lastname_score,也可以是 0,这取决于它是否大于或等于 patient_last_name_threshold。我写的函数是;
FUNCTION APPLY_THRESHOLD(IN_VALUE NUMBER,IN_THRESHOLD NUMBER, IN_FLOOR NUMBER) RETURN NUMBER DETERMINISTIC AS
BEGIN
IF IN_VALUE < IN_THRESHOLD
THEN
RETURN IN_FLOOR;
ELSE
RETURN IN_VALUE;
END IF;
END APPLY_THRESHOLD;
但是如果语言中内置了一些东西,它可能会更快。