Oracle11g LTRIM在甲骨文中给出了奇怪的答案

Oracle11g LTRIM在甲骨文中给出了奇怪的答案,oracle11g,Oracle11g,我使用了以下查询 select ltrim('|7732-18-5|1314-13-2|','7732-18-5|') from dual; 预期答案为1314-13-2 |,但给出以下答案4-13-2 | 这是甲骨文中的一个Bug吗?还是我是个愚蠢的程序员?来自: LTRIM函数用于删除文本表达式左侧的字符,并删除另一个文本表达式中显示的所有最左侧字符。该函数从基础文本表达式的第一个字符开始扫描,并删除修剪表达式中出现的所有字符,直到到达修剪表达式中不存在的字符,然后返回结果 在这种情况

我使用了以下查询

  select ltrim('|7732-18-5|1314-13-2|','7732-18-5|') from dual;
预期答案为1314-13-2 |,但给出以下答案4-13-2 |

这是甲骨文中的一个Bug吗?还是我是个愚蠢的程序员?

来自:

LTRIM函数用于删除文本表达式左侧的字符,并删除另一个文本表达式中显示的所有最左侧字符。该函数从基础文本表达式的第一个字符开始扫描,并删除修剪表达式中出现的所有字符,直到到达修剪表达式中不存在的字符,然后返回结果

在这种情况下,数字“4”不在修剪表达式中
'7732-18-5 |'
,因此在删除4之前的所有内容都将返回4-13-2|

为了获得预期的输出,请考虑使用替换函数:

select replace('|7732-18-5|1314-13-2|','7732-18-5|') from dual;