回覆列表
-
1 # 使用者963304282827
-
2 # 使用者6354188383803
估計你是沒理解replace的意思
譬如你舉例的這幾個
update 表名 set 欄位名=replace(欄位名,"aaaa","cccc");
這樣以後
aaaaxxxbbb 變成 ccccxxxbbb
aaaamtbbb 變成 ccccmtbbb
替換的是裡邊的aaa
你那麼寫不知道你要改什麼,如果你只要改aaa*bbb的那種可以在後邊加where條件
update 表名 set 欄位名=replace(欄位名,"aaaa","cccc") where 欄位名 like "aaa*bbb"
當然,這個模糊查詢是access裡的,如果是sqlserver或oracle等,那個*是要替換成%的
----補充----
按你說的意思
access:
update 表名 set 欄位名="A" where 欄位名 like "aaa*bbb"
sqlserver或oracle:
update 表名 set 欄位名="A" where 欄位名 like "aaa%bbb"
正常sql按照標準語法寫就行了。然後希望更優秀可以採用:
1,最新的語法規則,一般效能更高;
2,當查詢緩慢時,嘗試對sql進行改寫調優,然後可能寫出效能更好的sql;
3,閱讀別人的sql最佳化經驗,使用別人的最佳化規則試一試,如果效能更好,就得到了更好的sql。
4,其他策略待大神補充……
最後,sql最佳化和資料庫最佳化、資料結構最佳化、程式最佳化相結合才能取得更好效果。以上。