मैंने उसी चीज़ के लिए निम्नलिखित फ़ंक्शन का उपयोग किया। इसे आज़माएं और यह आपके लिए भी काम करे।
यह सत्यापित करता है कि उपयोगकर्ता का आईपी पता आईपी पते की सीमा के बीच है या नहीं। नीचे की स्क्रिप्ट 1 लौटाएगी, यदि IP पता सीमा के बीच है, अन्यथा यह 0 लौटाता है;
CREATE FUNCTION IsIPAddressInRange
(
@IPAddress varchar(20),
@StartRange varchar(20),
@EndRange varchar(20)
)
RETURNS INT
AS
BEGIN
DECLARE @MAXRANGE BIGINT = 256
RETURN
CASE
WHEN PARSENAME(@IPAddress,1) + @MAXRANGE * PARSENAME(@IPAddress,2) +
@MAXRANGE * @MAXRANGE * PARSENAME(@IPAddress ,3) + @MAXRANGE * @MAXRANGE * @MAXRANGE * PARSENAME(@IPAddress ,4)
BETWEEN
PARSENAME(@StartRange,1) + @MAXRANGE * PARSENAME(@StartRange,2) +
@MAXRANGE * @MAXRANGE * PARSENAME(@StartRange ,3) + @MAXRANGE * @MAXRANGE * @MAXRANGE * PARSENAME(@StartRange ,4)
AND
PARSENAME(@EndRange,1) + @MAXRANGE * PARSENAME(@EndRange,2) +
@MAXRANGE * @MAXRANGE * PARSENAME(@EndRange ,3) + @MAXRANGE * @MAXRANGE * @MAXRANGE * PARSENAME(@EndRange ,4)
THEN 1
ELSE 0
END
END
मैंने उपरोक्त कार्य को यहां .