2018年7月5日 星期四

Oracle REGEXP_SUBSTR 用法

REGEXP_SUBSTR 寫法如下: 

REGEXP_SUBSTRDATA_GROUP , '   [ ^ _ ]   { 7 }  '  )
DATA_GROUP  : 欄位
 [ ^ _ ]       : 中括號裡面,^後的字元 = 停止字元,這表示(遇到 底線 就停止)
{ 7 }          : 取 7 個字元 
{ m }         : 取 m 個字元
{ m , }       : 最少取 m 個字元
{ m ,  n}    : 最少取 m 個字元 , 最多取 n 個字元


假設今天我們資料長這樣 ,
我們要擷取DATA_ATTR是"C"  的條件中
EQU_Mooney 其中的 Mooney 當作之後對應的數值
EQU_gravity(BC) gravity(BC) 
= > 簡單來說就是取底線之後字串


如此就有我們想要的結果了



2018.07.05 備註: 
單獨使用 REGEXP_SUBSTR 抓字串顯示的話 , 是不會有什麼問題
如果要再把 REGEXP_SUBSTR 抓出來的字串做額外判斷 ex: like 
要注意後面他會補空白哦
因此要使用 TRIM 函數把空白清掉

情境如下: 
原本 TABLE 資料表










使用者只想要 DATA_ATTR為 "F" 的資料 , 並且要多機台欄位
而他的機台就是要去抓 DATA_ATTR為 "C" 去補

使用者想要呈現的樣子
語法如下 
ORACLE 要利用 | | 連接 字串 , TRIM 要去掉空白

結果



沒有留言:

張貼留言

Java 一些應用 [ csv reader / array of class / for( : ) ]

分享一些工作上用到的寫法 ( java )  csv reader  array of class for (:)  因為工作上需要讀取csv檔案的需求 , java 本身有提供一些 method  首先要 import opencsv-3.8.jar ...