首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Oracle UPDATE 部分字串替換技巧:使用 TRANSLATE 函數

     編輯:Oracle 資料庫相關知識

需將 zz_file 表中 zz01 以 gpy 開頭的記錄,其 zz02 欄位裡的 apyi 替換為 gpyi。嘗試 UPDATE zz_file SET zz02[1]='g' ... 失敗,因 Oracle 不支援陣列式字元更新。

解決方案:TRANSLATE 函數

TRANSLATE(string, from_chars, to_chars) 可逐字元對應替換,適合單字元轉換。

語法

FUNCTION TRANSLATE (
  string_in     IN VARCHAR2,
  from_chars    IN VARCHAR2,
  to_chars      IN VARCHAR2
) RETURN VARCHAR2

實作範例

UPDATE zz_file
SET zz02 = TRANSLATE(zz02, 'apyi', 'gpyi')
WHERE SUBSTR(zz02, 6, 4) = 'gpyi';

注意:TRANSLATE 會替換欄位中所有符合 from_chars 的字元,若需精確控制替換位置,請搭配 SUBSTR/INSTR 或改用 REPLACE 配合條件判斷。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved