как удалить символы из строки в базе данных sqlite3?

#sqlite #query-string

#sqlite #запрос-строка

Вопрос:

у меня есть строка, подобная этой a) Текст в моей базе данных sqlite .. я хочу удалить a) из базы данных .. кто-нибудь знает запрос для этого?

Ответ №1:

Ответ @laalto близок, но он не будет работать в крайних случаях, особенно если 'a) ' встречается в другом месте строки. Вы хотите использовать SUBSTR только для удаления первых 3 символов.

 sqlite> SELECT REPLACE ("a) I have some information (or data) in the file.", "a) ", "");
I have some information (or datin the file.

sqlite> SELECT SUBSTR ("a) I have some information (or data) in the file.", 4);
I have some information (or data) in the file.
  

Итак, обновляя свой запрос, он должен превратиться в:

 UPDATE tbl SET col=SUBSTR(col, 4) WHERE col LIKE 'a) %';
  

обратите внимание, что строки индексируются с 1 в SQLite.

Ответ №2:

Вы можете использовать REPLACE также для удаления частей строки:

 UPDATE tbl SET col=REPLACE(col, 'a) ', '') WHERE col LIKE 'a) %';
  

Ответ №3:

Я думаю, этот код поможет вам.

UPDATE TABLE_NAME SET COLUMN_NAME=REPLACE(COLUMN_NAME,'xxx','') WHERE COLUMN_NAME LIKE 'xxx%;

из приведенного выше кода ‘xxx’ ваша ненужная строка, которая заменяется » когда строка начинается с xxx, вся строка в столбце, который вы выберете.