gpt4 book ai didi

MySQL 棘手的正则表达式

转载 作者:行者123 更新时间:2023-11-30 23:28:35 26 4
gpt4 key购买 nike

我有一个包含字符串(字符串的逗号部分)的字段,例如“X1,X2,X3,X4,X5”。 让我们以 MySQL 表为例-

id FIELD1
1 X1,X3
2 X1,X3,X4
3 X2,X3,X4
4 X2,X4
5 X1,X3,X4,X5,X6

让 Q = "X1,X3,X4,X5"

现在,要获取 Q 中包含 FIELD1 值的所有字符的行的查询是什么。Q 是这样的,只有 8 个此类字符(X1,X2..),字符串中的字符是不重复。

Select id FIELD WHERE "...Some regex on characters of Q...." 

换句话说,它应该返回第 1、2 行作为 Q 中存在的 X1、X3、X4。它不应返回第 3、4、5 行,因为 Q 中不存在 X2、X6。

非常感谢

最佳答案

正如 juergen d 在我之前所说,您的数据库结构有问题。

如果您正在使用这种结构,您将得到如下丑陋的 SQL 查询:

SELECT id FROM Crooked_Table WHERE (FIELD1 LIKE '%X1%' OR FIELD1 LIKE '%X3%' OR FIELD1 LIKE '%X4%' OR FIELD1 LIKE '%X5%') AND NOT (FIELD1 LIKE '%X2%' OR FIELD1 LIKE '%X6%')

并且您需要在查询中涵盖所有可能的逗号分隔值,否则它将无法工作。

关于MySQL 棘手的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11861818/

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