在甲骨文中删除最后一个COMMA

时间:2017-06-09 16:21:34

标签: oracle oracle11g

COUNTNUM是表中的列名,其中包含如下数据 1,2,3,4,

我用过

RTRIM((COUNTNUM),',')  COUNTNUM

它没有工作

期望的输出 1,2,3,4-

当前输出 1,2,3,4,

任何建议都会有很大帮助..! 感谢

2 个答案:

答案 0 :(得分:1)

REGEXP_REPLACE((countnum),',$','')

答案 1 :(得分:0)

也许逗号后面有非数字需要删除

添加逻辑以说明逗号与countnum结尾之间可能的非数字。

说明:

[^[:digit:]]是数字字符类的否定

*是一个量词,意味着零到多

$是一个标识countnum

结尾的锚点
SCOTT@dev>WITH d AS (
  2      SELECT
  3          '1,2,3,4, ' countnum
  4      FROM
  5          dual
  6      UNION ALL
  7      SELECT
  8          '1,2,3,4,'
  9      FROM
 10          dual
 11  ) SELECT
 12      countnum,
 13      regexp_replace(
 14          countnum,
 15          ',[^[:digit:]]*$'
 16      ) mod_count_num
 17  FROM
 18      d;

COUNTNUM       MOD_COUNT_NUM  
1,2,3,4,       1,2,3,4        
1,2,3,4,       1,2,3,4