全部博文(136)
分类: 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 |