是否可以SQL
在SQLite
表中使用来替换字符串的一部分?
例如,我有一个表,其中一个字段保存文件的路径.是否可以替换部分字符串,例如
c:\afolder\afilename.bmp
Run Code Online (Sandbox Code Playgroud)
变
c:\anewfolder\afilename.bmp
Run Code Online (Sandbox Code Playgroud)
?
And*_*rew 195
您可以使用内置replace()
函数在查询中执行字符串替换.
SQLite核心功能列表中详细介绍了其他字符串操作函数(以及更多)
以下内容应指向正确的方向.
UPDATE table SET field = replace( field, 'C:\afolder\', 'C:\anewfolder\' ) WHERE field LIKE 'C:\afolder\%';
vla*_*ras 28
@Andrew的回答是部分正确的.WHERE
这里不需要使用条款:
C:\afolder
无论如何都会受到影响,没有理由进行检查.这太过分了.'C:\afolder\%'
将仅选择仅以字母开头的字段C:\afolder\
.如果你在字符串里面有这个路径怎么办?所以正确的查询只是:
UPDATE table SET field = replace( field, 'C:\afolder\', 'C:\anewfolder\');
Run Code Online (Sandbox Code Playgroud)
如果您只想在查询中执行此操作而不会产生持久影响:
SELECT fieldA, replace(field, 'C:\afolder\', 'C:\anewfolder\'), fieldB FROM table;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
79423 次 |
最近记录: |