2014-11-02 3 views
0

У меня есть столбец с именем «tel». В этом столбце есть несколько записей, которые начинаются с (например) «0511», и я хочу изменить его «0513». Что такое правильный запрос?SQLite: замените часть строки на другую

+0

Вы видите это: http://stackoverflow.com/questions/10532656/sqlite-replace-part-of-a-string? – Trinimon

ответ

0

Вы можете использовать после первых 4 цифр номера тел функции

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

Проверьте заменить основные функции SQLite here

EDIT В случае, если у вас есть матч. Например 051121505113

UPDATE table SET tel= replace(substr(tel,1,5), '0511', '0513')||substr(tel,5) 
    WHERE tel LIKE '0511%'; 
0
UPDATE table 
SET tel = REPLACE(tell, '0511', '0513') 
WHERE tel like '%0511%' 
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%'; 
Смежные вопросы