gpt4 book ai didi

mysql - 从 MySQL 列表中提取项目

转载 作者:行者123 更新时间:2023-11-30 22:54:51 28 4
gpt4 key购买 nike

我有一个名为“部门”的列,其中有一串文本如下所示:
n 1,社会学/n 2,遗传学/n 3,数学 ..etc.

我正在尝试使用 LIKE 或 If, Then 语句根据数字 1、2、3 等提取部门名称。我对 MySQL 比较陌生,所以任何反馈都将不胜感激。

最佳答案

我不太确定我了解源列数据的确切性质。

如果您说示例中的单个列包含由斜杠分隔的部门列表,并且您想要提取给定已知数字的单个部门,则可以这样做

select trim(substring_index(substring_index(column_name,'n 2,', -1),'/',1)) from mytable where <your criteria>;

例如

> select trim(substring_index(substring_index( 'n 1, Sociology / n 2, Genetics / n 3, Math','n 2,',-1),'/',1)) as 'Department';
+------------+
| Department |
+------------+
| Genetics |
+------------+
1 row in set (0.00 sec)

我个人尽量避免在 mysql 本身中解析 blob 并委托(delegate)该代码,但如果出于任何原因你需要这样做可能会有所帮助(等待我对要求的正确解释)。

像这样解析“半结构化”数据的最大问题,无论是在 SQL 中还是在应用程序级别,都将是当您的分隔符之一被用作未转义的文字值时。例如用作分隔符和实际部门名称的斜杠

关于mysql - 从 MySQL 列表中提取项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26855347/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com