TRANSLATE(c1,c2,c3)
将字符表达式值中指定字符替换为新字符。多字节符(汉字、全角符等),按1个字符计算。
如果 c3 长度大于 c2,则 c3 长出后面的字符无效
如果 c3 长度小于 c2,则 c2 长出后面的字符均替换为空(删除)
如果 c3 长度为 0,则返回空字符串。
如果 c2 里字符重复,按首次位置为替换依据
c1 希望被替换的字符或变量
c2 查询原始的字符集
c3 替换新的字符集,将 c2 对应顺序字符,替换为 c3 对应顺序字符
字符型
(1)使用 TRANSLATE 函数替换字符串中所有的字符串 “l” 替换成 “L”,如下:
SQL> select TRANSLATE('hello world','l','L') from dual; TRANSLATE(' ----------- heLLo worLd
(2)使用 TRANSLATE 函数替换中文字符串,如下:
SQL> select TRANSLATE('我爱学习','我爱','好好') from dual; TRANSLAT -------- 好好学习
(3)如果 c3 长度大于 c2,则 c3 长出后面的字符无效,如下:
SQL> select TRANSLATE('我爱学习','我爱','我非常爱') from dual; TRANSLAT -------- 我非学习
(4)如果 c3 长度小于 c2,则 c2 长出后面的字符均替换为空(删除),如下:
SQL> select TRANSLATE('我爱学习','我爱','我') from dual; TRANSL ------ 我学习