首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

求一sql 多谢

2013-03-01 
求一sql谢谢把12.1.132 换成 0012.0001.0132就是把数字换成四位数的不足四位的在前面补0写了个select rege

求一sql 谢谢
把12.1.132 换成 0012.0001.0132
就是把数字换成四位数的   不足四位的在前面补0

写了个
     select regexp_replace('12.1.132','(\d+)',lpad('\1',4,0)) from dual
错的好厉害
谢谢

[解决办法]

引用:
把12.1.132 换成 0012.0001.0132
就是把数字换成四位数的   不足四位的在前面补0

写了个
     select regexp_replace('12.1.132','(\d+)',lpad('\1',4,0)) from dual
错的好厉害
谢谢



SELECT REPLACE(WMSYS.WM_CONCAT(X) ,',','.') AS R
FROM
(
SELECT LPAD(REGEXP_SUBSTR('12.1.132', '[^.]+', 1, LEVEL),4,0) AS X
  FROM DUAL
CONNECT BY LEVEL <=LENGTH(REGEXP_REPLACE('12.1.132', '[^.]+', ''))+1
)


觉着很奇怪的写法,但是能够使用,我想搞明白一个事情,难道WMSYS.WM_CONCAT函数只能够使用","作为分隔符么?

热点排行