mysql - 更新 MySQL 中的列

标签 mysql sql

列 foo 中的所有数据均以 _ 为后缀。我想删除这个_。我可以使用 SQL 而不是编写脚本来完成此操作吗?

最佳答案

几种方法:

  • TRIM结尾的“_”:

    UPDATE mytable
    SET foo = TRIM(TRAILING '_' FROM foo)
    
  • 获取由字符 1 到 n-1 组成的子字符串,nfoo 中字符串的长度,使用SUBSTRINGCHAR_LENGTH :

    UPDATE mytable
    SET foo = SUBSTRING(foo,1,CHAR_LENGTH(foo)-1)
    

我推荐第一种方法,因为如果 foo 中有一行以“_”结尾,第一种方法将保留原样,而第二个字符将采用其最后一个字符,即使它不是下划线。

关于mysql - 更新 MySQL 中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9424770/

相关文章:

php - MySQL 中的覆盖索引决策

query_posts 后 MySQL 错误 "Query execution was interrupted"

sql - 如何基于另一个表的值在SQL表上创建列

php - 用户和密码与数据库不匹配

python - 每 x 分钟运行一次 python 作业

sql - PostgreSQL:如何连接两个字符不同的字段

Android应用程序不保存在mysql数据库中

php - 从 $_POST 更新 BLOB 字段使 BLOB 值为 0 字节长

MySQL - 如何在嵌套的 IFNULL...GROUP_CONCAT() 条件下选择多个列?

mysql - 将新旧对象存储到 longblob - 触发 Mysql