在 Oracle DB 中使用 PHP 字符串中的“IN”运算符


Using 'IN' Operator in Oracle DB from a string in PHP

我是Oracle DB

中的新手,我很难在Oracle DB中使用"IN"运算符。

我在 PHP 中使用字符串中的"IN"运算符。

这就是我在 PHP 上的绑定方式

$var1_in = "Santos,Reyes";
oci_bind_by_name($stid, ':cursor_out', $out_cursor, -1, OCI_B_CURSOR);
oci_bind_by_name($stid, ':var1_in', $var1_in);

这是我在数据库中的查询

 PROCEDURE someFunction 
  (
      CURSOR_OUT OUT REFCURSOR,
      VAR1_IN IN VARCHAR2
  ) AS
  BEGIN
    OPEN CURSOR_OUT FOR     
        SELECT LAST_NAME, SALARY, EMPNO
        FROM EMPLOYEES
        WHERE EMP_LNAME IN (VAR1_IN);
  END someFunction;

提前感谢!

您应该在PHP中使用文字来处理IN子句,如下所示

$var1_in = "'Santos','Reyes'";

我不知道双引号中的单引号是否有效,但在 oracle 中,varchar2应该是单文本