求助 大神 ,如何将一张表里某字段进行这样的改动,改动规律是:该字段为1.2.45.67这样的值 则改为00001.00002.00045.00067 也就是每个数字用0补齐5位,求大神解答

解决方案 »

  1.   

    lpao(字段,5,’0’)
      

  2.   

      lpad刚打错了,右边是rpad
      

  3.   

    select listagg(lpad(regexp_substr(t1.str, '[^\.]+', 1, level), 5, '0'), '.') within group(order by level)
      from (
    select '1.2.33.44.555.6666.77777' str from dual
    ) t1
    connect by prior t1.str = t1.str
    and prior sys_guid() is not null
    and level <= regexp_count(t1.str, '\.') + 1