Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SQL सर्वर में IP पते के मिलान के लिए क्वेरी

मैंने उसी चीज़ के लिए निम्नलिखित फ़ंक्शन का उपयोग किया। इसे आज़माएं और यह आपके लिए भी काम करे।

यह सत्यापित करता है कि उपयोगकर्ता का आईपी पता आईपी पते की सीमा के बीच है या नहीं। नीचे की स्क्रिप्ट 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

मैंने उपरोक्त कार्य को यहां .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एकाधिक लाइनस्ट्रिंग पंक्तियों को एक पंक्ति संग्रह में कैसे संयोजित करें

  2. MS SQL सर्वर से कनेक्ट करते समय RODBC अस्थायी तालिका समस्या

  3. SQL का उपयोग करके लगातार दिनांक सीमाओं का पता लगाएं

  4. एकाधिक तालिकाओं के लिए SQL सर्वर विदेशी कुंजी

  5. LinqToSql का उपयोग करके यील्ड रिटर्न डेटाबेस रिकॉर्ड?