我在oracle中有一个函数,需要转换为postgres。
我似乎找不到文档文档中出现这种差异的原因,但是:
oracle:
SELECT substr('1236',-4, 4) FROM DUAL;
Result: 1236SELECT substr('1236',-4, 4);
Result: empty (Null)我需要一个类似于oracle的输出,而我似乎不能理解postgres函数为什么不同,以及我可以使用什么作为替代。
发布于 2021-02-24 20:22:58
我被你的困惑搞糊涂了。Oracle非常清楚,负值位置从字符串末尾开始倒计时。
Postgres文档中没有任何内容表明此行为。除了left()和right()之外,没有提到任何字符串函数的负位置(据我所知)。而且没有任何迹象表明,否定立场在其他情况下有特殊的意义。
幸运的是,Postgres有一个更简单的方法来做你想做的事情:
select right('1236', 4)https://stackoverflow.com/questions/66350750
复制相似问题