是否有任何方法可以在sql的IN子句中使用范围。在SQL IN子句中使用
我有一个场景,其中我在像列的值:
BIN_1_1
111111 - 222222
用户输入的值,例如; 111134,我需要检查输入的值是否在列值的范围内。
有没有什么方法可以使用IN语句并在它之间使用?
FOR i in (select * from V_CUS_SEG_BIN_RANGE) LOOP
IF v_input1 IN
(REGEXP_SUBSTR(i.bin_1_1, '[^-]+', 1, 1), REGEXP_SUBSTR(i.bin_1_1, '[^-]+', 1, 2)
THEN
dbms_output.put_line('Duplicate!');
END LOOP;
我得到用RegEx分隔的值,但我可以用它们来比较值是否在范围之间。
不,这不是'如何'的工作。只需使用'> ='和'<='。 –
我该如何嵌入> =和<=? –
如果'111111'和'222222'位于'INT'的单独列中,这将更加容易。事实上,任何东西都可以放在允许值“111111 - 222222”的列中,这使得解决这个问题的方法非常脆弱。 –