首页 > 解决方案 > 如何在 sql 中轻松地将 139.29.0.0 转换为 139.029.000.000?

问题描述

如何在 sql 中轻松地将 139.29.0.0 转换为 139.029.000.000?

标签: sqloraclemasking

解决方案


有不同的方法。一种是将字符串拆分为四个数字,然后重新格式化它们。

另一种方法只是使用正则表达式。以下用三个零填充所有数字,然后在每个数字之前'.'或字符串末尾取最后三个数字:

select regexp_replace(regexp_replace(ip, '([0-9]+)', '000\1'), '[0-9]*([0-9]{3}([.]|$))', '\1')
from (select '139.29.0.0' as ip from dual) x

推荐阅读