Oracle替換欄位各指定位置為指定內容

2021-10-08 08:41:47 字數 1461 閱讀 5556

一、替換首位

說明:替換首位時,擷取首位需要替換的內容,用剪下函式substr(指定字段,1,n)),然後replcae(指定字段,擷取的首段字串,需要替換成的字串),最後,更新字段內容。

例子:替換指定欄位c_yhj_code 前兩位字元。

update t_p_aa_etf_zqmap

set c_yhj_code = replace(c_yhj_code,substr(c_yhj_code,1,2),'mp')

where c_yhj_code = 'ko 1380018'

替換前:

替換後:

二、替換中間

說明:從中間某位起,擷取一段,然後替換,最後更新,同擷取首位類似。

例子:擷取第8位起的字元為mk

update t_p_aa_etf_zqmap

set c_yhj_code = replace(c_yhj_code,substr(c_yhj_code,8,2),'mk')

where c_yhj_code = '1380018mp20200720'

替換前:

替換後:

三、替換末尾

說明:替換末尾時,首先找到末尾需要替換的內容,用剪下函式substr(指定字段,length(指定字段)-1,n),length獲取字段長度,length-1 表示欄位從末尾起,擷取n位,n=1,2,3。然後replcae(指定字段,擷取的某段字串,需要替換成的字串),最後,更新字段內容。

例子:替換欄位c_yhj_code末尾最後兩位字元。

update t_p_aa_etf_zqmap

set c_yhj_code = replace(c_yhj_code,

substr(c_yhj_code,length(c_yhj_code) - 1,2),

'ib')

where c_yhj_code = '1380018 cy'

替換前

替換後

HIve 在指定位置新增字段

分兩步,先新增欄位到最後 add columns 然後再移動到指定位置 change alter table table name add columns c time string comment 當前時間 正確,新增在最後 alter table table name change c time...

Hive 在指定位置新增字段

此處僅為mark,方便檢視。搗騰了半天,終於找到解決方案了,hive定時任務原表新增欄位的方法 分兩步,先新增欄位到最後 add columns 然後再移動到指定位置 change alter table table name add columns c time string comment 當前...

oracle 新增列到指定位置

oracle中,1.如果表已經裝載了大量資料應該是用檢視來代替最好。alter table tablenm add newfield varchar2 10 rename tablenm to tablenmx create or replace view tablenm asselect fiel...