Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1705702
  • 博文数量: 136
  • 博客积分: 10021
  • 博客等级: 上将
  • 技术积分: 3261
  • 用 户 组: 普通用户
  • 注册时间: 2007-01-22 11:26
文章分类

全部博文(136)

文章存档

2010年(1)

2009年(26)

2008年(109)

我的朋友

分类: Oracle

2008-11-30 09:56:05

语法

translate::=

功能

返回 char 经过处理后的字符串。处理规则为:在 from_string 中出现的字符,都替换为对应位置的 to_string 中的字符。未在 from_string 中出现的字符不被替换。

参数 from_string 中可以包含比 to_string 多的字符,此时,from_string 中额外的字符在 to_string 中没有与之对应的字符,若这些字符在 char 中出现,它们将会从 char 中删除。

在参数 to_string 中,你不能使用空字符串来试图删除在 from_string 中存在的所有字符。Oracle 会把空字符串作为 NULL 处理,此时会返回 NULL。

举例

下面的例子中,将字母'ABC...Z'转换成'X',将数字'0123...9'转换成'9':

SELECT TRANSLATE('2KRW229',
'0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ',
'9999999999XXXXXXXXXXXXXXXXXXXXXXXXXX') "License"
     FROM DUAL;

License
--------
9XXX999

下面的例子中,将字符串中的字母去掉:
SELECT TRANSLATE('2KRW229',
   '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ', '0123456789')
   "Translate example"
     FROM DUAL;
 
Translate example
-----------------
2229
阅读(4723) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~