sql中TRANSLATE和REPLACE有什么区别?

时间:2015-03-02 05:24:12

标签: database rdbms

从双重选择翻译('flipflop','fl','h');

从双重选择替换('flipflop','fl','h');

这两个查询给出相同的输出,那么为什么我们有不同的命令来执行相同的操作?

2 个答案:

答案 0 :(得分:0)

翻译逐字节翻译字符串

a被替换为e,h没有补充并被丢弃。 选择翻译('那么什么','啊',' e') 来自双重;

如果匹配找到与o一样的匹配

,则仅用指定的单词替换单词的出现

SELECT REPLACE('那么',' o',' ay') 来自双重; UG

请参阅https://community.oracle.com/thread/676170

答案 1 :(得分:0)

         REPLACE                                 TRANSLATE


Replaces entire string at a time      Replaces character one-to-one basis


Returns string if no match found      Returns null if no match found