在update语句中替换字段的前几个字符

时间:2015-02-19 21:36:32

标签: sql

尝试在更新声明中解决这个问题。每个字段都有相同数量的字符和格式,如'abc-def-ghi'

如果字段包含'abc',如何用'xxx-xxx'替换'abc-def'部分?

2 个答案:

答案 0 :(得分:0)

试试这个:

IF(col LIKE '%abc%', REPLACE(col, 'abc-def', 'xxx-xxx'), col)

答案 1 :(得分:0)

substr和字符串连接的组合应该可以解决问题:

UPDATE my_table
SET    col1 = CONCAT('xxx-xxx-' , SUBSTR(col1, 9))
WHERE  col1 LIKE '%abc%'