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

oracle 中 LTRIM()函数的有关问题

2012-02-27 
oracle 中 LTRIM()函数的问题语句如下:SELECTLTRIM( 1092002081100058424 ,109 )FROMdualUNIONALLSELECTLT

oracle 中 LTRIM()函数的问题
语句如下:

SELECT   LTRIM( '1092002081100058424 ',   '109 ')   FROM   dual
UNION   ALL
SELECT   LTRIM( '1091000000002671251 ',   '109 ')   FROM   dual

运行结果如下:

12002081100058424
22671251

问题:为什么截断的效果不一样呢???理想中应该是如下才对啊。

1               2002081100058424
2               1000000002671251


[解决办法]
--Ltrim 函数现实c1匹配前面开始去掉出现在c2的中任何前导字符集
[解决办法]
试了下,
SELECT LTRIM( '1092002081100058424 ', '1092 ') FROM dual
UNION ALL
SELECT LTRIM( '1091000000002671251 ', '109 ') FROM dual
结果得到
181100058424
22671251
,可看,ltrim是把开头是1 0 9 的都截了,而不是整个字符串截的


[解决办法]
函数将109当成了三个字符以1,0,9在字符串开始直道出现不为1,0,9这三个字符中的任意一个开始截取

热点排行