列 foo 中的所有数据均以 _
为后缀。我想删除这个_
。我可以使用 SQL 而不是编写脚本来完成此操作吗?
最佳答案
几种方法:
TRIM
结尾的“_”:UPDATE mytable SET foo = TRIM(TRAILING '_' FROM foo)
获取由字符 1 到 n-1 组成的子字符串,n 是
foo
中字符串的长度,使用SUBSTRING
和CHAR_LENGTH
:UPDATE mytable SET foo = SUBSTRING(foo,1,CHAR_LENGTH(foo)-1)
我推荐第一种方法,因为如果 foo
中有一行不以“_”结尾,第一种方法将保留原样,而第二个字符将采用其最后一个字符,即使它不是下划线。
关于mysql - 更新 MySQL 中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9424770/