Home

Now I'm A Farmer(Peter-KIM)

CREATE OR REPLACE FUNCTION « Func_IPv4ToString »

(

IPv4Integer INTEGER

)

RETURNS CHAR VARYING

AS

$BODY$

DECLARE

IPv4String  CHARACTER VARYING;

UINT32MAX  BIGINT;

IPv4BigInt  BIGINT;

BEGIN

UINT32MAX  :=  4294967295;

 

IF (IPv4Integer <)

THEN

IPv4BigInt := UINT32MAX + IPv4Integer +1;

ELSE

IPv4BigInt := IPv4Integer;

ENDIF;

 

IPv4String := FORMAT(‘%s.%s.%s.%s’

,(IPv4BigInt & x‘000000FF’::BIGINT)::VARCHAR(3)

,((IPv4BigInt & x‘0000FF00’::BIGINT)/ POWER (2,8))::VARCHAR(3)

,((IPv4BigInt & x’00FF0000′::BIGINT)/ POWER (2,16))::VARCHAR(3)

,((IPv4BigInt / POWER (2,24))::INTEGER)::VARCHAR(3));

RETURN IPv4String;

END;

$BODY$

LANGUAGE plpgsql VOLATILE;

 

 

CREATE OR REPLACE FUNCTION « Func_IPv4ToInteger »

(

IPAddress CHARACTER VARYING

)

RETURNSINTEGER

View original post 150 mots de plus

Publicités

Laisser un commentaire

Choisissez une méthode de connexion pour poster votre commentaire:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s