Comment mettre à jour la colonne de table ayant ceci:
/var/mobile/233KKFSDK3234/Documents/Page.jpg
et le replace par
/Documents/Page.jpg
dans SQLite?
Remarque: Tout le text, sauf /Documents/
est dynamic.
Vous devez d'abord lire la string et la placer dans un nsssortingng, puis générer une string de news à partir de l'ancien, puis la mettre à jour dans db.
Ici vous avez le code c objective pour générer la nouvelle string. La mise à jour de DB que vous pouvez faire avec les autres réponses.
NSSsortingng *originalSsortingng = @"/var/mobile/233KKFSDK3234/Documents/Page.jpg"; NSRange documentsRage = [originalSsortingng rangeOfSsortingng:@"/Documents/"]; NSSsortingng *newSsortingng = [NSSsortingng ssortingngWithSsortingng:[originalSsortingng subssortingngWithRange:NSMakeRange(documentsRage.location, [originalSsortingng length]-documentsRage.location)]]; NSLog(@"newSsortingng:%@",newSsortingng);
UPDATE table SET column = IF( POSITION('/Documents/' IN column), RIGHT(column, (LENGTH(column) - POSITION('/Documents/' IN column) - LENGTH('/Documents/') + 1)), column )
Si le motif est trouvé, gardez seulement les caractères à droite de l'occurrence; Sinon, ne faites rien (gardez l'ancienne valeur).
Après a travaillé pour moi:
UPDATE yourtable SET votre champ = SUBSTR (yourfield, 18);
..as déclaré par Bjoern sur cette question: Comment mettre à jour ces données en utilisant SQL?
Faites le traitement de string dans ObjC, puis utilisez cette requête.
update tablename set columnname = 'processedSsortingng' ;
Mis à jour selon votre exigence