如何在IN子句中传递变量

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在IN子句中传递变量相关的知识,希望对你有一定的参考价值。

我声明了变量i_unit_attempt_status,我想将该变量传递给'In子句'。您能帮我吗?

INNER JOIN student_unit_attempt sua
on sua.person_id=sei.person_id
   AND sua.course_cd=sei.course_cd
   AND sua.unit_cd=sei.unit_cd
   AND (sua.unit_attempt_status in (l_unit_attempt_status))

变量中的数据将是:选项1:“ COMPLETED”,“ DISCONTIN”,“ DUPLICATE”,“ ENROLLED”,“ INVALID”,“ UNCONFIRM”选项2:“ ENROLLED”

答案

您可以像下面一样使用

 INNER JOIN student_unit_attempt sua
  on sua.person_id=sei.person_id
  AND sua.course_cd=sei.course_cd
  AND sua.unit_cd=sei.unit_cd
  AND sua.unit_attempt_status in
     (select column_value 
      from table(sys.dbms_debug_vc2coll(l_unit_attempt_status)));

以上是关于如何在IN子句中传递变量的主要内容,如果未能解决你的问题,请参考以下文章

如何将变量传递给 IN 子句?

如何在 Django 中为“in”SQL 子句传递值列表

带有 IN 子句参数的 Oracle 存储过程

如何将 select 语句的 IN 子句中的参数作为具有多个值的参数传递?

如何在使用变量的动态查询中指定 IN 子句?

如何在 NOT IN 子句中使用字符串作为变量?