SQLite:用另一个字符串替换字符串的一部分

时间:2014-11-02 10:12:06

标签: sqlite

我有一个名为“tel”的列。此列有一些以(例如)“0511”开头的记录,我想将其更改为“0513”。什么是正确的查询?

3 个答案:

答案 0 :(得分:0)

您可以使用替换功能

 UPDATE table SET tel= replace( tel, '0511', '0513' ) WHERE tel LIKE '0511%';

检查SQLite核心功能here

修改 如果您的电话号码的前4位数字后面有匹配。 例如051121505113

  UPDATE table SET tel= replace(substr(tel,1,5), '0511', '0513' )||substr(tel,5) 
  WHERE tel LIKE '0511%';

答案 1 :(得分:0)

UPDATE table
SET tel = REPLACE(tell, '0511', '0513')
WHERE tel like '%0511%' 

答案 2 :(得分:0)

如果存在' 0511'如果字符串你可以确保只在字符串的开头替换0511,则存在于其余部分:

UPDATE [table]
 SET [tel] = CASE WHEN 
  instr([tel], '0511') = 1  THEN 
    '0513' || substr([tel], 4)
  ELSE    
    [tel]
  END
WHERE [tel] LIKE '0511%';