[英]Postgres Query to replace the last occurence of input data
输入:
场地 |
---|
ABC_PKG_T |
ABC_T_PKG |
ABC_PKG_T2 |
abc_base_t |
Output:
场地 |
---|
ABC_PKG |
ABC_T_PKG |
ABC_PKG_T2 |
abc_base |
我使用了以下逻辑:
REGEXP_REPLACE(TRIM(field), '(.*)\_T|_t', '\1' )
除了我得到的第三个 output 值“ ABC_PKG2 ”之外,它可以很好地获取大部分 output 值。
你能建议任何其他逻辑,以便我能正确地得到 ABC_PKG_T2 的结果吗?
您需要使用$
将表达式锚定在字符串的末尾:
regexp_replace(the_column, '_t\s*$', '', 'i')
\s*
还将删除_t
后面的任何尾随空格,而'i'
使这种情况不区分大小写,因此它将删除_T
和_t
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.