gpt4 book ai didi

sql - mysql 查询 : pull all rows where field2 has 01, 02,或 04 作为它的任何部分

转载 作者:行者123 更新时间:2023-11-30 23:39:16 25 4
gpt4 key购买 nike

我有一个问题:

SELECT * 
FROM table
WHERE field1 IS NULL
AND (field2 LIKE '%01%' OR
field2 LIKE '%02%' OR
field2 LIKE '%04%'
)

目标是拉取 field2 中包含 01、02 或 04 的所有行。 field2 通常有逗号分隔值,如 01,02,03,有时只有一个 02。但是,当我运行此查询时,我只返回一个值为 01,02,03,04 的结果,它不是它是表中唯一具有完全相同数据的。

这基本上是表格的样子:

|id|field1 |field2
| 1|空|01,02,03,04
| 2|空|01,02,03,04
| 3|空|01,02,04

最佳答案

您可以使用 REGEXP 函数:

SELECT *     
FROM table
WHERE field1 IS NULL
AND (field2 REGEXP '0[124]')

例如:

SELECT *
FROM (
SELECT 'SKJDFHSKDJF01KJSAKSJFHK DSFKJHSKDFJ' INFO
UNION ALL
SELECT 'SKJDFHSKDJF02KJSAKSJFHK DSFKJHSKDFJ' INFO
UNION ALL
SELECT 'SKJDFHSKDJF03KJSAKSJFHK DSFKJHSKDFJ' INFO
UNION ALL
SELECT 'SKJDFHSKDJF04KJSAKSJFHK DSFKJHSKDFJ' INFO
UNION ALL
SELECT 'SKJDFHSKDJF0KJSAKSJFHK DSFKJHSKDFJ' INFO
UNION ALL
SELECT 'SKJDFHSKDJF09KJSAKSJFHK DSFKJHSKDFJ' INFO
) b
WHERE INFO REGEXP '0[124]'

关于sql - mysql 查询 : pull all rows where field2 has 01, 02,或 04 作为它的任何部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4797842/

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