我想从MySQL中的字符串中提取子字符串。该字符串包含多个子字符串,子字符串之间用逗号(',')分隔。我需要使用任何MySQL函数提取这些子字符串。
例如:
Table Name: Product
-----------------------------------
item_code name colors
-----------------------------------
102 ball red,yellow,green
104 balloon yellow,orange,red
我想选择颜色字段并提取红色、黄色和绿色的子字符串,用逗号分隔。
检查第64至69行中SPLIT\u STR函数的使用情况
基于https://blog.fedecarg.com/2009/02/22/mysql-split-string-function/,以下是从分隔符分隔的数组中访问值的方法:
/*
usage:
SELECT get_from_delimiter_split_string('1,5,3,7,4', ',', 1); -- returns '5'
SELECT get_from_delimiter_split_string('1,5,3,7,4', ',', 10); -- returns ''
*/
CREATE FUNCTION get_from_delimiter_split_string(
in_array varchar(255),
in_delimiter char(1),
in_index int
)
RETURNS varchar(255) CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci
RETURN REPLACE( -- remove the delimiters after doing the following:
SUBSTRING( -- pick the string
SUBSTRING_INDEX(in_array, in_delimiter, in_index + 1), -- from the string up to index+1 counts of the delimiter
LENGTH(
SUBSTRING_INDEX(in_array, in_delimiter, in_index) -- keeping only everything after index counts of the delimiter
) + 1
),
in_delimiter,
''
);
以下是字符串运算符的文档供参考:https://dev.mysql.com/doc/refman/8.0/en/string-functions.html
可能的重复:将值从一个字段拆分为两个
不幸的是,MySQL不具有拆分字符串功能。如上链接所示,有用户定义的拆分功能。
获取数据的更详细版本如下所示:
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(colors, ',', 1), ',', -1) as colorfirst,
SUBSTRING_INDEX(SUBSTRING_INDEX(colors, ',', 2), ',', -1) as colorsecond
....
SUBSTRING_INDEX(SUBSTRING_INDEX(colors, ',', n), ',', -1) as colornth
FROM product;
问题内容: 我想从MySQL中的字符串中提取子字符串。该字符串包含多个子字符串,以逗号(’,’)分隔。我需要使用任何MySQL函数提取这些子字符串。 例如: 我想选择颜色字段并将子字符串提取为红色,黄色和绿色,并以 逗号 分隔。 问题答案: 可能的重复:将值从一个字段拆分为两个 不幸的是,MySQL没有拆分字符串功能。如上面的链接所示,有用户定义的分割功能。 下面是获取数据的更详细的版本:
具体地说,我需要从表中选择字段的分隔符和之间的部分,其中包含
我有一个来自命令行输入的字符串,如下所示: 这看起来像一个文件,如下所示: 我想提取并存储为。 在python中,我只需要: 我如何在C++中复制它?
本文向大家介绍MySQL查询返回分隔符后的子字符串?,包括了MySQL查询返回分隔符后的子字符串?的使用技巧和注意事项,需要的朋友参考一下 用于在定界符后返回值。让我们首先创建一个表- 使用插入命令在表中插入一些记录- 使用select语句显示表中的所有记录- 输出结果 这将产生以下输出- 这是在定界符后返回子字符串的查询。 输出结果 这将产生以下输出-
如何将过滤器列表拆分为单个过滤器元件?split2String在线程“main”java.util.regex中导致:异常。PatternSyntaxException:索引10或(|和)附近的未闭合组(
我希望能够根据子字符串分隔符拆分字符串,在分隔符子字符串的第一个字符之前开始拆分。现在: 将给我,但我希望得到