Plsql 如何在oracle中将变量传递给最小和最大函数?

Plsql 如何在oracle中将变量传递给最小和最大函数?,plsql,oracle10g,Plsql,Oracle10g,变量包含字段的名称。我想将它传递给min函数,不是作为字符串,而是作为字段假设字段是数据库表列的名称,那么您可以使用。下面是一个实现该功能的示例: DECLARE V_COL VARCHAR2(100) := 'COL_NAME'; V_STMT VARCHAR2(4000); V_RESULT NUMBER; BEGIN V_STMT := 'SELECT MAX('||V_COL||') FROM TAB_NAME'; DBMS_OUTPUT.PUT_LINE(V_STMT); EXECUT

变量包含字段的名称。我想将它传递给min函数,不是作为字符串,而是作为字段

假设字段是数据库表列的名称,那么您可以使用。下面是一个实现该功能的示例:

DECLARE
V_COL VARCHAR2(100) := 'COL_NAME';
V_STMT VARCHAR2(4000);
V_RESULT NUMBER;
BEGIN
V_STMT := 'SELECT MAX('||V_COL||') FROM TAB_NAME';
DBMS_OUTPUT.PUT_LINE(V_STMT);
EXECUTE IMMEDIATE V_STMT INTO V_RESULT;
DBMS_OUTPUT.PUT_LINE(V_RESULT);
END;
/

另一种方法是使用案例陈述,例如

SELECT MIN(CASE v_col_name
           WHEN 'COL1' THEN COL1
           WHEN 'COL2' THEN COL2
           ...etc...
           END)
FROM tab_name;
“字段”是指“数据库表列的名称”吗?