【发布时间】:2013-05-12 09:14:57
【问题描述】:
我在其他开发者的代码中遇到了这个返回ABCDEF的语句:
SELECT TRANSLATE('ABC123DEF456', '^0123456789', '^') FROM DUAL;
然后我用以下结果进行了测试:
SELECT TRANSLATE('ABC123DEF456', '^0123456789', ' ') FROM DUAL;
SELECT TRANSLATE('ABC123DEF456', '0123456789', ' ') FROM DUAL;
但是这个返回null:
SELECT TRANSLATE('ABC123DEF456', '0123456789', '') FROM DUAL;
插入符号(^) 是什么意思?为什么有必要?
【问题讨论】:
-
认为这意味着从头开始匹配
-
@haki,它出现在替换字符串(最后一个参数)中,所以我不认为它是一个正则表达式。
-
它实际上没有任何区别 - 您可以使用
^或A或任何其他 - 只要它不是您要删除的字符之一。