我运行以下查询:
select * from my_temp_table
获得此输出:
PNRP1-109 / RT
PNRP1-200-16
PNRP1-209 / PG
013555366-IT
如何更改查询以从每个值中删除最后两个字符?
答案 0 :(得分:3)
使用SUBSTR()
功能。
SELECT SUBSTR(my_column, 1, LENGTH(my_column) - 2) FROM my_table;
答案 1 :(得分:0)
使用正则表达式的另一种方法:
select regexp_replace('PNRP1-109/RT', '^(.*).{2}$', '\1') from dual;
这将从正则表达式替换您的字符串与组1,其中组1(在parens内部)包括行开头之后的字符集,不包括行结束之前的2个字符。 / p>
虽然对你的例子不那么简单,但可能更强大。