Oracle ltrim() rtrim() 函数详细用法
2015-07-20 09:47
471 查看
嘿嘿,今天在论坛里看了一篇帖子,讨论ltrim() 函数的详细用法,下面我借几个高手的回答总结一下:
先看几个实例:
SQL> select ltrim('109224323','109') from dual;
LTRIM('109224323','109')
------------------------
224323
这个的功能应该都知道的噢~~ 再来看一个:
SQL> select ltrim('10900094323','109') from dual;
LTRIM('10900094323','109')
---------------------------
4323
是不是有点迷糊了?按道理说应该是00094323的结果嘛~~ 再来看两个对比的:
SQL> select ltrim('10900111000991110224323','109') from dual;
LTRIM('10900111000991110224323
------------------------------
224323
SQL> select ltrim('109200111000991110224323','109') from dual;
LTRIM('10920011100099111022432
------------------------------
200111000991110224323
是不是有这样的疑问:为什么第二个查询语句多了一个2就没被截了呢?
再来看一个:
SQL> select ltrim('902100111000991110224323','109') from dual;
LTRIM('90210011100099111022432
------------------------------
2100111000991110224323
我想大家都都会想:按道理说是截109的值,为什么90也被截了?
总结:ltrim(x,y) 函数是按照y中的字符一个一个截掉x中的字符,并且是从左边开始执行的,只要遇到y中有的字符, x中的字符都会被截掉, 直到在x的字符中遇到y中没有的字符为止函数命令才结束 .
网友回答: 函数将109当成了三个字符以1,0,9在字符串开始直道出现不为1,0,9这三个字符中的任意一个开始截取;
可以看出,ltrim函数是从匹配函数开始之后出现在子串中任何字符都被屏蔽掉了;
以上仅为个人观点, 欢迎各位留言讨论...
实验证明:ltrim()与rtrim()都存在这种情况.
先看几个实例:
SQL> select ltrim('109224323','109') from dual;
LTRIM('109224323','109')
------------------------
224323
这个的功能应该都知道的噢~~ 再来看一个:
SQL> select ltrim('10900094323','109') from dual;
LTRIM('10900094323','109')
---------------------------
4323
是不是有点迷糊了?按道理说应该是00094323的结果嘛~~ 再来看两个对比的:
SQL> select ltrim('10900111000991110224323','109') from dual;
LTRIM('10900111000991110224323
------------------------------
224323
SQL> select ltrim('109200111000991110224323','109') from dual;
LTRIM('10920011100099111022432
------------------------------
200111000991110224323
是不是有这样的疑问:为什么第二个查询语句多了一个2就没被截了呢?
再来看一个:
SQL> select ltrim('902100111000991110224323','109') from dual;
LTRIM('90210011100099111022432
------------------------------
2100111000991110224323
我想大家都都会想:按道理说是截109的值,为什么90也被截了?
总结:ltrim(x,y) 函数是按照y中的字符一个一个截掉x中的字符,并且是从左边开始执行的,只要遇到y中有的字符, x中的字符都会被截掉, 直到在x的字符中遇到y中没有的字符为止函数命令才结束 .
网友回答: 函数将109当成了三个字符以1,0,9在字符串开始直道出现不为1,0,9这三个字符中的任意一个开始截取;
可以看出,ltrim函数是从匹配函数开始之后出现在子串中任何字符都被屏蔽掉了;
以上仅为个人观点, 欢迎各位留言讨论...
实验证明:ltrim()与rtrim()都存在这种情况.
相关文章推荐
- oracle connect by用法
- 【Oracle 集群】11G RAC 知识图文详细教程之RAC在LINUX上使用NFS安装前准备(六)
- oracle执行sql文件
- oracle数据库中提供的5种约束
- [oracle 10g]登录sqlplus出错解决
- oracle 学习笔记
- Oracle 利用储存过程插入循环插入大量数据方法
- 初始Oracle database 11g express edition
- Oracle SQL操作计划基线总结(SQL Plan Baseline)
- Oracle数据库的高级查询(多表查询)
- 64地点 Windows 8/7 根据系统 32地点PLSQL 耦合 64 地点 Oracle 11g
- ORACLE学习笔记2
- PL/SQL(x64)借助Oracle Instant Client连接Oracle配置教程
- oracle学习笔记
- Oracle存储过程及参数理解 参数默认值 参数顺序
- Oracle存储过程和存储函数的区别
- Oracle job procedure 存储过程定时任务
- oracle sql命令
- Oracle数据库的高级查询(基础部分)
- 查询oracle中所有用户信息