Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Truy vấn để khớp địa chỉ IP trong SQL Server

Tôi đã sử dụng hàm sau cho cùng một thứ. Hãy thử nó và nó cũng sẽ hoạt động với bạn.

Nó xác minh xem Địa chỉ IP của người dùng có nằm giữa dải Địa chỉ IP hay không. Tập lệnh dưới đây sẽ trả về 1, Nếu Địa chỉ IP nằm giữa phạm vi, nếu không thì trả về 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

Tôi đã lấy chức năng trên từ TẠI ĐÂY .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách tốt nhất để chèn hàng loạt cơ sở dữ liệu từ c # là gì?

  2. Ưu và nhược điểm của việc giữ SQL trong Procs được lưu trữ so với Code là gì

  3. Chọn và chỉnh sửa khối dọc trong SQL Server Management Studio (SSMS) - Hướng dẫn SQL Server / TSQL Phần 9

  4. Tạo mã sql theo lập trình

  5. tìm kiếm sql từ chuỗi csv