簡體   English   中英

僅從VARCHAR列中提取字母字符

[英]Extract only alphabetic characters from VARCHAR column

我有一個VARCHAR2類型的列,其文本類似於'12-MAR-2014,,1234,DATA,VALUE,12/03/14,,124,End' 我需要輸出'%DATA%VALUE%End%' 即用逗號','分隔的文本。 只需要選擇字母表,省略日期或數字或特殊字符。 就像是,

select some_function('12-MAR-2014,,1234,DATA,VALUE,12/03/14,,124,End') as output from dual;

OUTPUT
---------
%DATA%VALUE%End%

編輯:

另一個需要保留字母數字值的要求:

select some_function('12-MAR-2014,,1234,DATA65,VALUE,12/03/14,,124,End') as output from dual;

OUTPUT
---------
%DATA65%VALUE%End%

您可以使用regexp_replace() 我認為表達式是這樣的:

select regexp_replace(col, '([^a-zA-Z]+)', '%')

不幸的是,我現在無法測試它(而且SQL Fiddle已關閉)。

這樣的事情可以幫助你:

select regexp_replace('12-MAR-2014,,1234,DATA,VALUE,12/03/14,,124,End','[[0-9]{2}-(JAN|FEB|MAR|APR|JUN|JUL|AUG|SEP|OCT|NOV|DEC)-[0-9]{4}]*|[^a-zA-Z]+|$','%') from dual

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM