在sql中只替换字符串的开头

时间:2014-11-30 13:33:42

标签: mysql sql replace

我的表格中有3列:

+-+-+-+-+-+-+-+-+-+-+-++
+ ID + Name +   Cell   +
++++++++++++++++++++++++
+  1  +  FB + /moon/ta +
+  2  +  GO + /ta/ta   +
+  3  +  MO + /ta/mon  +
+  4  +  SS + /ta      +
+  4  +  SS + /ta/o/ta +
+-+-+-+-+-+-+-+-+-+-+-++

我想在字符串开头的单元格中用“/ rr”替换所有“/ ta”,如:

+-+-+-+-+-+-+-+-+-+-+-++
+ ID + Name +   Cell   +
++++++++++++++++++++++++
+  1  +  FB + /moon/ta +
+  2  +  GO + /rr/ta   +
+  3  +  MO + /rr/mon  +
+  4  +  SS + /rr      +
+  4  +  SS + /rr/o/ta +
+-+-+-+-+-+-+-+-+-+-+-++

如何在SQL中执行此操作?

1 个答案:

答案 0 :(得分:2)

我认为这可以满足您的需求:

update table t
    set cell = concat('/rr', substr(cell, 4))
    where cell like '/ta%';