楼主: junsansi

[精华] [三思笔记]-oracle函数介绍

[复制链接]
论坛徽章:
24
生肖徽章:狗
日期:2006-09-07 10:14:43数据库板块每日发贴之星
日期:2008-07-26 01:02:20生肖徽章2007版:兔
日期:2008-10-13 11:10:11奥运会纪念徽章:铁人三项
日期:2008-10-24 13:27:21开发板块每日发贴之星
日期:2008-12-27 01:01:09生肖徽章2007版:马
日期:2009-11-18 10:45:032010新春纪念徽章
日期:2010-03-01 11:21:02ITPUB9周年纪念徽章
日期:2010-10-08 09:28:51ERP板块每日发贴之星
日期:2011-05-18 01:01:01ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15
61#
发表于 2007-9-19 12:05 | 只看该作者
呵呵,上面是我的理解,有不对的还请指正!

对于translate,这样理解可能会好些。

[php]

SQL> SELECT TRANSLATE('What is this? a test !','ait','-*') FROM DUAL;

TRANSLATE('WHATISTHIS?ATEST!',
------------------------------
Wh- *s h*s? - es !

SQL> SELECT TRANSLATE('What is this? a test !','ai','-*X') FROM DUAL;

TRANSLATE('WHATISTHIS?ATEST!',
------------------------------
Wh-t *s th*s? - test !

SQL>

[/php]

translate这个函数,是全文匹配的,这么说是因为它是从左开始到结束一个字符一个字符处理的,首先判断查找串或替换串两者有任一位空,则返回空;否则一个字符以给字符的匹配查找串在原串中的位置,都替换为替换串中的与查找串位置对应的字符。如果替换串的长度小于查找串,则查找串后面的字母默认替换为空。如果替换串长度大于查找串,多余的部分不会进行处理!

大家可以看上面第一个例子,a对应后面的-,i对于后面的*,t没有对应的则会被替换为空!

使用道具 举报

回复
论坛徽章:
11
生肖徽章:虎
日期:2007-09-18 15:23:56奥运会纪念徽章:射击
日期:2008-05-15 17:45:06奥运会纪念徽章:柔道
日期:2008-04-25 10:11:43生肖徽章2007版:鼠
日期:2008-01-02 17:35:53生肖徽章2007版:猴
日期:2008-01-02 17:35:53生肖徽章2007版:鸡
日期:2008-01-02 17:35:53授权会员
日期:2007-09-26 18:05:44生肖徽章:狗
日期:2007-09-26 17:07:47嫦娥
日期:2007-09-26 17:05:18生肖徽章:牛
日期:2007-09-26 17:01:41
62#
发表于 2007-9-19 13:45 | 只看该作者
好东西,多谢楼主!

使用道具 举报

回复
论坛徽章:
11
生肖徽章:虎
日期:2007-09-18 15:23:56奥运会纪念徽章:射击
日期:2008-05-15 17:45:06奥运会纪念徽章:柔道
日期:2008-04-25 10:11:43生肖徽章2007版:鼠
日期:2008-01-02 17:35:53生肖徽章2007版:猴
日期:2008-01-02 17:35:53生肖徽章2007版:鸡
日期:2008-01-02 17:35:53授权会员
日期:2007-09-26 18:05:44生肖徽章:狗
日期:2007-09-26 17:07:47嫦娥
日期:2007-09-26 17:05:18生肖徽章:牛
日期:2007-09-26 17:01:41
63#
发表于 2007-9-19 14:00 | 只看该作者
刚刚看了LZ关于lpad函数的介绍,LZ说:
3、LPAD(c1,n[,c2]) 返回指定长度=n的字符串,需要注意的有几点:
        如果n<c1.length则从右到左截取指定长度返回;
        如果n>c1.length and c2 is null,以空格从左向右补充字符长度至n并返回;
        如果n>c1.length and c2 is not null,以指定字符c2从左向右补充c1长度至n并返回;

但是我实验下来如果n<c1.length的话:
[php]
SQL> SELECT LPAD('WhaT is tHis',5) FROM DUAL;

LPAD('WHATISTHIS',5)
--------------------
WhaT
SQL>
[/php]
应该是从左往右截取的呀。

使用道具 举报

回复
论坛徽章:
2
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44ITPUB9周年纪念徽章
日期:2010-10-08 09:34:02
64#
发表于 2007-9-24 16:07 | 只看该作者
谢谢

使用道具 举报

回复
论坛徽章:
0
65#
发表于 2007-9-26 16:59 | 只看该作者
感谢动感超人

使用道具 举报

回复
论坛徽章:
16
数据库板块每日发贴之星
日期:2007-09-27 01:02:07暖羊羊
日期:2015-03-04 14:50:37马上有车
日期:2014-12-14 21:45:59ITPUB十周年纪念徽章
日期:2011-11-01 16:20:282011新春纪念徽章
日期:2011-01-04 10:34:49ITPUB9周年纪念徽章
日期:2010-10-08 09:32:262010年世界杯参赛球队:乌拉圭
日期:2010-05-12 17:54:592010新春纪念徽章
日期:2010-01-04 08:33:08生肖徽章2007版:蛇
日期:2009-06-09 21:26:05ITPUB元老
日期:2009-02-12 09:31:54
66#
发表于 2007-9-27 11:49 | 只看该作者
太强了,谢谢楼主

使用道具 举报

回复
论坛徽章:
14
生肖徽章:狗
日期:2006-11-09 10:27:16生肖徽章2007版:羊
日期:2008-04-07 19:45:41生肖徽章2007版:鼠
日期:2008-01-02 17:35:53生肖徽章2007版:牛
日期:2008-01-02 17:35:53生肖徽章2007版:虎
日期:2008-01-02 17:35:53生肖徽章2007版:兔
日期:2008-01-02 17:35:53生肖徽章2007版:猴
日期:2008-01-02 17:35:53生肖徽章2007版:鸡
日期:2008-01-02 17:35:53ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44会员2007贡献徽章
日期:2007-09-26 18:42:10
67#
发表于 2007-9-27 13:37 | 只看该作者
标记下有时间上来看;

使用道具 举报

回复
论坛徽章:
0
68#
发表于 2007-9-27 16:10 | 只看该作者
好东西啊,呵,下了半天。。

:)

3Q

使用道具 举报

回复
论坛徽章:
0
69#
发表于 2007-10-2 22:11 | 只看该作者
对于楼主这样的好人我只能说,佩服,敬仰!!!

使用道具 举报

回复
论坛徽章:
3
70#
发表于 2007-10-3 08:31 | 只看该作者
好东西啊

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表