![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
Hello all. DB2 LUW V9.5 Fp5 Anyone knows a way to transform a integer in a ip address using Scalar Function? |
|
Regards Bruno. |
#3
| |||
| |||
|
|
On 2010-09-27 19:30, brunoalsantos wrote: Hello all. DB2 LUW V9.5 Fp5 Anyone knows a way to transform a integer in a ip address using Scalar Function? Is it something like this that you mean? create function bigint_to_ip (ip bigint) returns varchar(15) begin atomic * * declare fst bigint; * * declare snd bigint; * * declare trd bigint; * * declare fth bigint; * * set fst = ip / (256*256*256); * * set snd = mod(ip,256*256*256) / (256*256); * * set trd = mod(ip,256*256) / 256; * * set fth = mod(ip,256); * * return rtrim(cast(fst as char(3))) || '.' || * * * * * *rtrim(cast(snd as char(3))) || '.' || * * * * * *rtrim(cast(trd as char(3))) || '.' || * * * * * *rtrim(cast(fth as char(3))); end @ The fuction body can be written in a RETURN statement. |
#4
| |||
| |||
|
|
On 2010-09-27 19:30, brunoalsantos wrote: Hello all. DB2 LUW V9.5 Fp5 Anyone knows a way to transform a integer in a ip address using Scalar Function? Is it something like this that you mean? create function bigint_to_ip (ip bigint) returns varchar(15) begin atomic * * declare fst bigint; * * declare snd bigint; * * declare trd bigint; * * declare fth bigint; * * set fst = ip / (256*256*256); * * set snd = mod(ip,256*256*256) / (256*256); * * set trd = mod(ip,256*256) / 256; * * set fth = mod(ip,256); * * return rtrim(cast(fst as char(3))) || '.' || * * * * * *rtrim(cast(snd as char(3))) || '.' || * * * * * *rtrim(cast(trd as char(3))) || '.' || * * * * * *rtrim(cast(fth as char(3))); end @ db2 "values bigint_to_ip(3555336315)" 1 --------------- 211.234.32.123 /Lennart Regards Bruno.- Ocultar texto das mensagens anteriores - - Mostrar texto das mensagens anteriores - |
#5
| |||
| |||
|
![]() |
| Thread Tools | |
| Display Modes | |
| |