1

我有一个有趣的场景要- (minus sign)在数字、字母和数字之间添加。

例子:

输入:123AB56;输出:123-AB-56;

输入:56XYZ777;输出:56-XYZ-777;

源数据没有规则模式。

对此的任何意见表示赞赏。

4

1 回答 1

3

如果是相对较晚的 Oracle,则可以regexp_replace执行以下任务:

SELECT
  REGEXP_REPLACE(YOURFIELD,
                 '([[:digit:]]+)([[:alpha:]]+)([[:digit:]]+)',
                 '\1-\2-\3') REPLACED_RESULTS
  FROM YOURTABLE;
于 2012-06-21T13:23:39.620 回答