如何更新具有以下内容的表列:
/var/mobile/233KKFSDK3234/Documents/Page.jpg
并将其替换为
/Documents/Page.jpg
?
注意:除/Documents/
之外的所有文字都是动态的。
答案 0 :(得分:0)
UPDATE table SET column = IF(
POSITION('/Documents/' IN column),
RIGHT(column, (LENGTH(column) - POSITION('/Documents/' IN column) - LENGTH('/Documents/') + 1)),
column
)
如果找到模式,只保留出现的字符;否则,什么也不做(保持旧价值)。
答案 1 :(得分:0)
在ObjC中进行字符串处理,然后使用此查询。
update tablename set columnname = 'processedString' ;
根据您的要求更新
答案 2 :(得分:0)
您必须首先读取字符串并将其放入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);
答案 3 :(得分:0)
以下为我工作:
更新yourtable SET yourfield = SUBSTR(yourfield,18);
..正如Bjoern在这个问题上所说: How to Update this data using SQL?