--
数字转
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
)
/*
---------------
255.255.255.255
(1
行受影响
)
*/
SELECT
dbo
.
fn_IP2Str
(
0
)
/*
---------------
0.0.0.0
(1
行受影响
)
*/
--
附:以下转自邹建
--ip
地址与数字相互转换的
sql
函数
IF
EXISTS
(