简单一点写吧
选出IPv4的16进制的格式,并转换为10进制的SQL,比如:
C0A80001
转为
192.168.0.1
这样的格式
SQL代码
由于是混在一起的,所以需要先选出16进制的内容,转成10进制。
select
to_number(substr(a.pdpaddr,1,2),'XX') || '.' ||
to_number(substr(a.pdpaddr,3,2),'XX') || '.' ||
to_number(substr(a.pdpaddr,5,2),'XX') || '.' ||
to_number(substr(a.pdpaddr,7,2),'XX') IP
from SomeTable a
where length(A.PDPADDR)=8 and instr(A.PDPADDR,'.')=0
再加上本身10进制的格式内容就OK了。
union
where length(A.PDPADDR)<>8 or instr(A.PDPADDR,'.')<>0
本文提供了一种将IPv4地址从十六进制格式转换为十进制格式的SQL方法,通过使用substr和to_number函数,有效地实现了格式转换。
174万+

被折叠的 条评论
为什么被折叠?



