根据字母和数字拆分列

时间:2014-06-05 21:38:54

标签: sql oracle

我有一个表格,其值在一列中,如下所示。

  

ColumnA

APPLE1234
ORANGE12
GR445
LE4444

我的预期输出是将列中的值拆分为字母和数字。

预期产出:

APPLE      1234
ORANGE     12    
GR         445    
LE         4444

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:3)

最简单的可能是使用REGEXP_REPLACE()

SELECT REGEXP_REPLACE("ColumnA", '[A-Za-z]') AS Numbers
      ,REGEXP_REPLACE("ColumnA", '[0-9]') AS Letters
FROM  Table1

演示:SQL Fiddle

更新:如果您不想使用正则表达式,可以使用TRANSLATE()

SELECT TRANSLATE("ColumnA",'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789','ABCDEFGHIJKLMNOPQRSTUVWXYZ') AS Letters
      ,TRANSLATE("ColumnA",'0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ','0123456789') AS Numbers
FROM Table1;

演示:SQL Fiddle