我正在删除字符串中的最后3个字符" ABC123"使用以下语句在Oracle中使用regexp_replace
函数
select REGEXP_REPLACE('ABC123','123','', LENGTH('ABC123') - 3) from dual;
使用以下陈述可以在Postgres中实现相同的结果,
select regexp_replace('ABC123','[123]', '','g')
select translate('ABC123','123', '');
有没有什么方法可以像我在Oracle中使用的那样使用length函数进行替换?
答案 0 :(得分:0)
为什么不简单地使用left()
?
select left('ABC123', length('ABC123') - 3)
同样的想法也可以在Oracle中使用,但您需要使用substr()
函数。这在两个数据库中应该更有效。
答案 1 :(得分:0)
您还可以查看修剪功能。 http://www.postgresqltutorial.com/postgresql-trim-function/
“从双重选择REGEXP_REPLACE('ABC123','123','',LENGTH('ABC123') - 3);” 会成为 从双重中选择ltrim('ABC123','ABC'); 结果是123