当前位置: 首页 > 知识库问答 >
问题:

MySQL简单查询提取给定2个分隔符的子字符串

丌官运珧
2023-03-14

具体地说,我需要从表tmp.label中选择字段label的分隔符<!--RWBL_1-><!--RWBL_2->之间的部分,其中label包含 以便能够为使用 HTML标记错误格式化的记录更新该字段。

结果类似于strip_tags。显然,这仅是由于存在上述(或类似)分隔符才可能的。


共有1个答案

姜嘉赐
2023-03-14

这里有一个简单的解决方案,用于提取给定2个分隔符的子字符串。

SELECT
    SUBSTRING_INDEX(
        SUBSTRING_INDEX(label, 
            '<!-- rwbl_1 -->', -1), 
        '<!-- rwbl_2 -->', 1) AS cutout 
FROM tmp.label 
WHERE label LIKE '<span%' 
ORDER BY 1 
LIMIT 1;

更摘要:

SELECT
    SUBSTRING_INDEX(
        SUBSTRING_INDEX(string_field,        # field name
            'delimiter_1', -1),              # take the right part of original
        '<!-- delimiter_2 -->', 1)           # take the left part of the resulting substring
    AS cutout 
FROM my_table 
WHERE my_condition;

现在更新的工作方式如下:

UPDATE my_table 
SET string_field = SUBSTRING_INDEX(
        SUBSTRING_INDEX(string_field, 
            'delimiter_1', -1), 
        '<!-- delimiter_2 -->', 1) 
WHERE my_condition;       
 类似资料:
  • 我想从MySQL中的字符串中提取子字符串。该字符串包含多个子字符串,子字符串之间用逗号(',')分隔。我需要使用任何MySQL函数提取这些子字符串。 例如: 我想选择颜色字段并提取红色、黄色和绿色的子字符串,用逗号分隔。

  • 本文向大家介绍MySQL查询返回分隔符后的子字符串?,包括了MySQL查询返回分隔符后的子字符串?的使用技巧和注意事项,需要的朋友参考一下 用于在定界符后返回值。让我们首先创建一个表- 使用插入命令在表中插入一些记录- 使用select语句显示表中的所有记录- 输出结果 这将产生以下输出- 这是在定界符后返回子字符串的查询。 输出结果 这将产生以下输出-

  • 问题内容: 我想从MySQL中的字符串中提取子字符串。该字符串包含多个子字符串,以逗号(’,’)分隔。我需要使用任何MySQL函数提取这些子字符串。 例如: 我想选择颜色字段并将子字符串提取为红色,黄色和绿色,并以 逗号 分隔。 问题答案: 可能的重复:将值从一个字段拆分为两个 不幸的是,MySQL没有拆分字符串功能。如上面的链接所示,有用户定义的分割功能。 下面是获取数据的更详细的版本:

  • 问题内容: 我的表格中有一个字段,其中包含逗号分隔的字符串,例如。每个数字代表可用的颜色。 运行查询以获取所有红色衬衫(颜色= 1)时,我还会获取颜色为灰色(= 12)和橙色(= 15)的衬衫。 我应该如何重写查询,以便仅选择颜色1而不是选择所有包含数字1的颜色? 问题答案: 经典方法是在左右添加逗号: 但是find_in_set也可以:

  • 我有以下模式: 在第一分隔符中,可以没有开始的圆括号、数字的组合和结束的圆括号。但是,数字和闭括号的组合是存在的,如果有开括号的话。 第二个分隔符从文本的第一列开始,它是该行唯一的单词。 我的正则表达式: 请帮帮我.

  • 本文向大家介绍MySQL查询从字符串中获取最后三个字符以外的子字符串?,包括了MySQL查询从字符串中获取最后三个字符以外的子字符串?的使用技巧和注意事项,需要的朋友参考一下 为此,您可以将SUBSTR与length()一起使用。 让我们首先创建一个表- 以下是使用insert命令在表中插入一些记录的查询- 以下是使用select命令显示表中记录的查询- 这将产生以下输出- 以下是查询以获取删除最