可以通過replace函數來獲取特定字符串后,進行字段更新實現:
創(chuàng)新互聯是一家專注于成都網站制作、網站建設、外貿網站建設與策劃設計,蘆溪網站建設哪家好?創(chuàng)新互聯做網站,專注于網站建設十多年,網設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:蘆溪等地區(qū)。蘆溪做網站價格咨詢:028-86922220
sql:update
tablename
set
name=replace(name,'替換前字段','替換后字段')
where
name
like
'%替換前字段%'。
上面的sql語句的意思是替換tablename中name字段的“替換前字段“為”替換后字段“,
where后面的語句是篩選出字段中帶有”替換前字段“的name值。
上面的回答都是對的,還是多說一句,如果你只是想改最后一個字符(XX這兩個字符中也含有“變”不需要改):
udpate test set name = substr(name ,1,length(name ) - 1) || '站';
commit;
若確認XX兩個字符不含“變”,或者含的話也要改掉,那么:
update test set name = replace(name,'變','站');commit;
oracle中可以通過全文檢索替換來實現單個字符的替換。
設置全文檢索
步驟步驟一:檢查和設置數據庫角色
首先檢查數據庫中是否有CTXSYS用戶和CTXAPP腳色。如果沒有這個用戶和角色,意味著你的數據庫創(chuàng)建時未安裝intermedia功能 (10G默認安裝都有此用戶和角色)。你必須修改數據庫以安裝這項功能。默認安裝情況下,ctxsys用戶是被鎖定的,因此要先啟用ctxsys的用戶。
步驟二:賦權
在ctxsys用戶下,授予測試用戶oratext以下權限:
GRANT resource, CONNECT, ctxapp TO oratext;
GRANT EXECUTE ON ctxsys.ctx_cls TO oratext;
GRANT EXECUTE ON ctxsys.ctx_ddl TO oratext;
GRANT EXECUTE ON ctxsys.ctx_doc TO oratext;
GRANT EXECUTE ON ctxsys.ctx_output TO oratext;
GRANT EXECUTE ON ctxsys.ctx_query TO oratext;
GRANT EXECUTE ON ctxsys.ctx_report TO oratext;
GRANT EXECUTE ON ctxsys.ctx_thes TO oratext;
GRANT EXECUTE ON ctxsys.ctx_ulexer TO oratext;
步驟三:設置詞法分析器(lexer)
--查詢測試
SELECT score(20),t.* FROM textdemo t WHERE contains(book_abstract,'移動城堡 or 俄羅斯',20)0;
SELECT score(20),t.* FROM textdemo t WHERE contains(book_abstract,'移動城堡 or 歐洲',20)0;
--基本查詢
SELECT score(20),t.* FROM textdemo t WHERE contains(book_abstract,'移動城堡',20)0;
--查詢包含多個詞語and測試通過
SELECT score(20),t.* FROM textdemo t WHERE contains(book_abstract,'移動城堡 and 歐洲',20)0;
測試通過。