Как заменить строку в SQLite? - PullRequest
0 голосов
/ 01 февраля 2012

Как обновить столбец таблицы следующим образом:

/var/mobile/233KKFSDK3234/Documents/Page.jpg

и замените его на

/Documents/Page.jpg

в SQLite?

Примечание. Весь текст, кроме /Documents/, является динамическим.

Ответы [ 4 ]

0 голосов
/ 03 февраля 2012

Следующее сработало для меня:

ОБНОВИТЬ ваш стол SET yourfield = SUBSTR (yourfield, 18);

.. как указано Бьорном по этому вопросу: Как обновить эти данные с помощью SQL?

0 голосов
/ 01 февраля 2012

Выполните обработку строки в ObjC и затем используйте этот запрос.

update tablename set columnname = 'processedString' ;

Обновлено в соответствии с вашим требованием

0 голосов
/ 01 февраля 2012

Вы должны сначала прочитать строку и поместить ее в строку nsstring, а затем сгенерировать новую строку из старой строки, а затем обновить до db.

Здесь у вас есть целевой код c для генерации новой строки. Обновление базы данных вы можете сделать с другими ответами.

    NSString *originalString = @"/var/mobile/233KKFSDK3234/Documents/Page.jpg";

    NSRange documentsRage = [originalString rangeOfString:@"/Documents/"];

    NSString *newString = [NSString stringWithString:[originalString substringWithRange:NSMakeRange(documentsRage.location, [originalString length]-documentsRage.location)]];
    NSLog(@"newString:%@",newString);
0 голосов
/ 01 февраля 2012
UPDATE table SET column = IF(
    POSITION('/Documents/' IN column),
    RIGHT(column, (LENGTH(column) - POSITION('/Documents/' IN column) - LENGTH('/Documents/') + 1)),
    column
)

Если шаблон найден, оставляйте только символы справа от вхождения; иначе ничего не делать (сохранить старое значение).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...