질문 있습니다.
IP 대역 비교 하는 방법 생각 중인데 만약
A 장비에 IP 설정을 192.168.0. 2 ~ 10 으로 하였고
B 장비에 IP 설정을 192.168.0. 1 ~ 4 / 5 ~ 11 로 하면
두 장비를 어떻게 비교 하는 것이 좋을까요??
그리고 A장비와 B 장비의 IP 설정이 동일하다 또는 A가 B 장비 IP 설정에 이미 존재 한다는 등의 판별은 어떻게 하나요 ㅠㅠㅠ
2 BETWEEN 1 AND 4
2 BETWEEN 5 AND 11
10 BETWEEN 1 AND 4
10 BETWEEN 5 AND 11
으로 해보았는데
만약 2 ~ 10 사이의 값 즉 3,4,5,6,7,8,9 의 값들이 B 장비의 IP 대역에 존재하는지를 어떻게 알까요??..
도와주셔서 감사합니다.
Comment 1
-
지영아빠
2020.12.07 15:31
음 원하는 걸까요?
declare @ip_str varchar(20) = '192.168.0.3'
;with tmp as (
select 'A' as z, '192.168.0.2' as ip1, '192.168.0.10' as ip2 union all
select 'B' as z, '192.168.0.1' as ip1, '192.168.0.4' as ip2 union all
select 'B' as z, '192.168.0.5' as ip1, '192.168.0.11' as ip2
)
select
distinct z
from tmp
where
cast(parsename(@ip_str, 1) as int) between cast(parsename(ip1, 1) as int) and cast(parsename(ip2, 1) as int)
참고바랍니다.