我有一个表格,其值在一列中,如下所示。
ColumnA
APPLE1234
ORANGE12
GR445
LE4444
我的预期输出是将列中的值拆分为字母和数字。
预期产出:
APPLE 1234
ORANGE 12
GR 445
LE 4444
有人可以帮我解决这个问题吗?
答案 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