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 从列中删除字符的主要内容,如果未能解决你的问题,请参考以下文章

使用 SSIS 从列中删除特殊字符 " 和 '

从列中删除字符串组合

如何从列中删除多余的字符?

从列中删除逗号,空格和“NULL”字符串为0(零)

从列中删除所有值并将其设为空白 [重复]

如何从列中删除日期和月份(类型:datetime64)[重复]