SQL 从列中删除字符
Posted
技术标签:
【中文标题】SQL 从列中删除字符【英文标题】:SQL To delete characters from a column 【发布时间】:2011-10-21 06:43:25 【问题描述】:我有一个 wordpress 网站。我想删除网站上每个帖子的前 15 个字符。
我相信表是 wp_posts,列是 post_content
我从数据库管理器执行的 sql 是什么?
【问题讨论】:
您想要删除此内容的原因是什么? 每篇文章的开头都是一个单词,长度为15个字符,我想删除它。这个词有时也会出现在帖子的中间,但我不想删除它。所以与其进行搜索/替换,我认为删除前 15 个字符是最有效的。 现在没有时间查找数据库架构并运行测试用例以确保答案有效,但有几点:1) 在进行可能具有破坏性的数据库更改时,将可能要销毁的数据备份到临时表中是个好主意。最坏的情况是,这是不必要的,你可以直接放下桌子,但如果出现问题,它可以为你省去很多麻烦。 2) 如果您知道这些前导字符是什么,使用REPLACE()
可能比使用子字符串更安全,因为您只会获得匹配的帖子,并且您将能够安全地重新运行查询。
【参考方案1】:
试试这个:
UPDATE wp_posts SET post_content = substr(post_content, 16);
read more...
【讨论】:
嗨,我对 sql 很陌生,你介意在调用 wp_posts 和 post_content 时重写它吗? 请注意只运行一次脚本!否则,您将剪掉前 15*n 个字符(n = 脚本运行的次数)。以上是关于SQL 从列中删除字符的主要内容,如果未能解决你的问题,请参考以下文章