1
我在其中包含幾個條目類似下面 臨時2次ECS約束-04-Insuficient平衡 我想更新表已經一個VARCHAR2列這些條目並使其成爲TEMPORARY-2 X。什麼是出路?更換一個VARCHAR2列的一部分甲骨文
我在其中包含幾個條目類似下面 臨時2次ECS約束-04-Insuficient平衡 我想更新表已經一個VARCHAR2列這些條目並使其成爲TEMPORARY-2 X。什麼是出路?更換一個VARCHAR2列的一部分甲骨文
要做到這一點,您可以使用字符函數如substr()
, replace()
或正則表達式的功能 - regexp_replace()
的實例。
SQL> with t1(col) as(
2 select 'TEMPORARY-2 TIME ECS BOUND -04-Insuficient Balance'
3 from dual
4 )
5 select concat(substr(col, 1, 11), ' X') as res_1
6 , regexp_replace(col, '^(\w+-\d+)(.*)', '\1 X') as res_2
7 from t1
8 ;
結果:
RES_1 RES_2
------------- -------------
TEMPORARY-2 X TEMPORARY-2 X
所以你update
聲明可能是這樣的:
update your_table t
set t.col_name = regexp_replace(col_name, '^(\w+-\d+)(.*)', '\1 X')
-- where clause if needed.