Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQLite:用另一个字符串替换字符串的一部分_Sqlite - Fatal编程技术网

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

SQLite:用另一个字符串替换字符串的一部分,sqlite,Sqlite,我有一个名为tel的列。此列有一些以例如0511开头的记录,我想将其更改为0513。什么是适当的查询 您可以使用替换功能 UPDATE table SET tel= replace( tel, '0511', '0513' ) WHERE tel LIKE '0511%'; 检查SQLite核心函数 编辑 如果您的电话号码的前4位后面有匹配项。 例如051121505113 UPDATE table SET tel= replace(substr(tel,1,5), '0511', '0

我有一个名为tel的列。此列有一些以例如0511开头的记录,我想将其更改为0513。什么是适当的查询

您可以使用替换功能

 UPDATE table SET tel= replace( tel, '0511', '0513' ) WHERE tel LIKE '0511%';
检查SQLite核心函数

编辑 如果您的电话号码的前4位后面有匹配项。 例如051121505113

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

如果剩余字符串中存在“0511”的风险,则可以确保仅替换字符串开头的0511,如下所示:

UPDATE [table]
 SET [tel] = CASE WHEN 
  instr([tel], '0511') = 1  THEN 
    '0513' || substr([tel], 4)
  ELSE    
    [tel]
  END
WHERE [tel] LIKE '0511%';
你看到那个了吗?
UPDATE [table]
 SET [tel] = CASE WHEN 
  instr([tel], '0511') = 1  THEN 
    '0513' || substr([tel], 4)
  ELSE    
    [tel]
  END
WHERE [tel] LIKE '0511%';