威言威语
我愿像茶,苦涩留心,清香予人。
威言威语
当前位置: 首页 > 网络 > 正文

MySQL中使用SUBSTRING_INDEX()删除指定内容

今天是传统的元宵佳节,晚上呢根据习俗吃的是面。刚吃好就听见了敲锣打鼓的声音,怎么回事呢,跑出去看了一下,原来今天晚上放孔明灯。
MySQL中使用SUBSTRING_INDEX()删除指定内容

SUBSTRING_INDEX() 是 MySQL 中一个非常实用且强大的字符串处理函数。它的主要作用是根据指定的分隔符来截取字符串的一部分。

SUBSTRING_INDEX(str, delim, count)

参数解释:

  • str:要处理的原始字符串。
  • delim:分隔符。函数会根据这个字符串来分割原始字符串。
  • count:指定要返回的部分。

如果 count 是正数,函数将从字符串左边(开头)开始数,返回第 count 个分隔符左边的所有内容。

如果 count 是负数,函数将从字符串右边(末尾)开始数,返回第 count 个分隔符右边的所有内容。

核心思想:这个函数可以帮你轻松地提取出域名、文件名、路径中的特定部分等。

我们这里可以用来删除特定的内容,举例:下面是评论内容字段中存储的数据。


我是文档内容AAA。<blockquote>我是文档内容BBB。</blockquote>

假如我想删除 <blockquote> 及其后面的内容,只保留前面的内容。


UPDATE `table_name` 
SET `field_name` = SUBSTRING_INDEX(`field_name`, '<blockquote>', 1)
WHERE `field_name` LIKE '%<blockquote>%';
// table_name 表名称
// field_name 字段名

这样,我就删掉了 <blockquote> 及其后面的内容,只保留前面的了。


我是文档内容AAA。

SUBSTRING_INDEX()函数,还有很多用途。

从电子邮件地址中提取域名

假设我们有一个电子邮件地址 user@example.com,我们想提取出域名 example.com


SELECT SUBSTRING_INDEX('user@example.com', '@', -1) AS domain;

解释: 使用 @ 作为分隔符,从右边开始取第一个 @ 之后的部分。

相关推荐

MySQL中使用SUBSTRING_INDEX()删除指定内容:目前有 1 条评论

  1. 嘟嘟熊
    沙发
    嘟嘟熊1Google Chrome 10.0.648.151 Windows XP

    还可以这么会用,学习到了。

    2012-05-04 22:58 回复

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

gravatar

question razz sad smile redface biggrin eek shock confused cool lol mad rolleyes wink cry