oracle 中 LTRIM()函数的问题
语句如下:
SELECT LTRIM( '1092002081100058424 ', '109 ') FROM dual
UNION ALL
SELECT LTRIM( '1091000000002671251 ', '109 ') FROM dual
运行结果如下:
1 2002081100058424
2 2671251
问题:为什么截断的效果不一样呢???理想中应该是如下才对啊。
1 2002081100058424
2 1000000002671251
------解决方案----------------------Ltrim 函数现实c1匹配前面开始去掉出现在c2的中任何前导字符集
------解决方案--------------------试了下,
SELECT LTRIM( '1092002081100058424 ', '1092 ') FROM dual
UNION ALL
SELECT LTRIM( '1091000000002671251 ', '109 ') FROM dual
结果得到
1 81100058424
2 2671251
,可看,ltrim是把开头是1 0 9 的都截了,而不是整个字符串截的
------解决方案--------------------函数将109当成了三个字符以1,0,9在字符串开始直道出现不为1,0,9这三个字符中的任意一个开始截取