我在返回值'1,2,3'的表中有一个名为CONCATENATEDFIELD的字符串字段
我需要在IN子句中使用此字段:
SELECT ID FROM TABLE WHERE STRINGFIELD IN (CONCATENATEDFIELD)
我需要像这样工作:
SELECT ID FROM TABLE WHERE STRINGFIELD IN ('1','2','3')
如何使它起作用?
解析可移植的字符串可能很痛苦,因为以某种方式,这将需要某种递归。
您可以改用正则表达式:
where regexp_like(
concatenated_field,
'(^|,)' || string_field || (,|$)
)
或简称为like
:
where ',' || concatenated_field || ',' like '%,' || string_field || ',%'