REGEXP_SUBSTR( DATA_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)
= > 簡單來說就是取底線之後字串
單獨使用 REGEXP_SUBSTR 抓字串顯示的話 , 是不會有什麼問題
如果要再把 REGEXP_SUBSTR 抓出來的字串做額外判斷 ex: like
要注意後面他會補空白哦
因此要使用 TRIM 函數把空白清掉
情境如下:
原本 TABLE 資料表 |
使用者只想要 DATA_ATTR為 "F" 的資料 , 並且要多機台欄位
而他的機台就是要去抓 DATA_ATTR為 "C" 去補
使用者想要呈現的樣子 |
語法如下
ORACLE 要利用 | | 連接 字串 , TRIM 要去掉空白 |
結果 |
沒有留言:
張貼留言