让我们说当我运行以下查询时,
SELECT NAME
FROM EMP;
返回以下2行。
NAME
------------
Jan Jones
Arne Barnie
但我希望它采用以下格式
J. Jones
A. Barnie
我怎么能得到它?
答案 0 :(得分:5)
应该可以使用regexp_replace
:
with names as (
select 'Jan Jones' name from dual union all
select 'Arne Barnie' name from dual
)
select
regexp_replace(name, '(.)[[:alpha:]]* *([[:alpha:]]*)', '\1. \2') name
from
names;
或者,如果您更喜欢\X
符号而不是[[:...:]]
符号,则可以使用
regexp_replace(name, '(.)\w* *(\w*)', '\1. \2')
答案 1 :(得分:-1)
没有像DECODE
这样的捷径可以做到这一点
I think this is your best bet.