SQL의 IN 절에서 범위를 사용할 수있는 방법이 있습니까?SQL IN 절에서 between 사용
난 같은 열에있는 값을 시나리오를 가지고, 사용자가 값을, 예를 들면 입사
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;
나는 정규식으로 구분 값을 얻을 수 있지만 값이 범위 사이에있는 경우 비교하는 사이에 사용할 수 있습니다.
아니요, 'in'이 작동하는 방식이 아닙니다. 단지'> ='와'<='를 사용하십시오. –
정확히 => 및 <=를 어떻게 포함합니까? –
'111111'과'222222'가'INT'의 분리 된 컬럼에 있다면 훨씬 쉬울 것입니다. 그대로라면, 열에는 111111 - 222222 값을 허용하는 모든 것이 포함될 수 있습니다. 이는 매우 취약한 많은 해결 방법을 만듭니다. –