zoukankan      html  css  js  c++  java
  • 数字转IP地址函数

    --数字转IP地址函数:
    IF OBJECT_ID('dbo.fn_IP2Str')>0
        DROP FUNCTION dbo.fn_IP2Str
    GO
    CREATE FUNCTION [dbo].[fn_IP2Str] (
        @InIP BIGINT
    )
    RETURNS NVARCHAR(15)
    AS
    BEGIN
        IF @InIP IS NULL
           RETURN '0.0.0.0'
        DECLARE @ip BIGINT
        SET @ip = @InIP
        SET @ip = @ip + 0x100000000
        RETURN
           CAST(((@ip & 0xff000000) / 0x1000000) AS NVARCHAR(3)) + '.' +
           CAST(((@ip & 0xff0000) / 0x10000) AS NVARCHAR(3)) + '.' +
           CAST(((@ip & 0xff00) / 0x100) AS NVARCHAR(3)) + '.' +
           CAST((@ip & 0xff) AS NVARCHAR(3))
    END
    GO
     
    --调用示例:
    SELECT dbo.fn_IP2Str(4294967295)
    
    
    -------------------------------------------------------------------------------
    -------------------------------------------------------------------------------
    IF OBJECT_ID('dbo.f_Int2IP')>0
        DROP FUNCTION dbo.f_Int2IP
    CREATE FUNCTION f_Int2IP
    (
        @IP BIGINT
    )
    RETURNS VARCHAR(15)
    AS
    BEGIN
        DECLARE @re VARCHAR(16)  
        SET @re = ''  
        SELECT @re = @re+'.'+CAST(@IP/ID AS VARCHAR), @IP = @IP%ID
        FROM (
                 SELECT ID = CAST(16777216 AS BIGINT)
                 UNION ALL   SELECT 65536
                 UNION ALL   SELECT 256
                 UNION ALL   SELECT 1
             )a
        RETURN(STUFF(@re, 1, 1, ''))
    END  
    GO
    --调用示例:
    select dbo.f_Int2IP(333444343)
  • 相关阅读:
    SPOJ 8093 JZPGYZ
    UVA1030 Image Is Everything
    UVA11996 Jewel Magic
    UVA11922 Permutation Transformer
    UVA1479 Graph and Queries
    P3224 [HNOI2012]永无乡
    UVA11020 Efficient Solutions
    UVA12206 Stammering Aliens
    UVA11107 Life Forms
    UVA11019 Matrix Matcher
  • 原文地址:https://www.cnblogs.com/accumulater/p/6225642.html
Copyright © 2011-2022 走看看