1. 程式人生 > >oracle 檢視某個不是純數字的欄位

oracle 檢視某個不是純數字的欄位

select * --trim(translate(RTRIM(LTRIM(project)), '#0123456789', '#'))
from v_stat_info

Where trim(translate(RTRIM(LTRIM(detail_code)), '#0123456789', '#')) is not null;

TRIM去除指定字元的前後空格

LTRIM去除指定字元的前面空格

RTRIM去除指定字元後面後空格

一、語法: 
TRANSLATE(string,from_str,to_str) 
二、目的 
返回將(所有出現的)from_str中的每個字元替換為to_str中的相應字元以後的string。TRANSLATE 是 REPLACE 所提供的功能的一個超集。如果 from_str 比 to_str 長,那麼在 from_str 中而不在 to_str 中的額外字元將從 string 中被刪除,因為它們沒有相應的替換字元。to_str 不能為空。Oracle 將空字串解釋為 NULL,並且如果TRANSLATE 中的任何引數為NULL,那麼結果也是 NULL。 

語法:TRANSLATE(expr,from,to)
expr: 代表一串字元,from 與 to 是從左到右一一對應的關係,如果不能對應,則視為空值。
舉例:
select translate('abcbbaadef','ba','#@') from dual (b將被#替代,a將被@替代)
select translate('abcbbaadef','bad','#@') from dual (b將被#替代,a將被@替代,d對應的值是空值,將被移走)