<分区>
我正在尝试使用 SQL 更新所有行的特定部分。下面是一个例子:
**table ** 788745.ext 998520.ext 447789.ext 174664.ext 788012.ext
我想用“.jpg”替换“.ext”部分。
<分区>
我正在尝试使用 SQL 更新所有行的特定部分。下面是一个例子:
**table ** 788745.ext 998520.ext 447789.ext 174664.ext 788012.ext
我想用“.jpg”替换“.ext”部分。
最佳答案
在 MySQL 中,您可以:
update names
set name = concat(substring_index(name, '.', 1), '.jpg')
where name like '%.ext';
这假定名称中只有一个 .
。
如果您知道.ext
没有出现在名称的其他任何地方,您可以使用replace()
:
update names
set name = replace(name, '.ext', '.jpg')
where name like '%.ext';
或者您可以使用 insert()
函数替换最后三个字符:
update names
set name = insert(name, length(name) - 2, 3, 'jpg')
where name like '%.ext';
关于mysql - 更新所有行的特定部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50649391/