gpt4 book ai didi

sql - 黑斑羚查询 : Find value in pipe-separated list

转载 作者:行者123 更新时间:2023-12-04 22:08:23 25 4
gpt4 key购买 nike

我有一列包含多行管道分隔的字符串值:

|   colA    |
___________
| 5|4|2|255 |
| 5|4|4|0 |
| 5|4|4|3 |
| 5|4|4|4 |

我需要创建一个查询来选择所有包含 4 或 5 的行,但绝不会包含 2 或 3。大致如下:

SELECT t.colA
FROM my_table t
WHERE (t IN ("4", "5") AND t NOT IN ("2","3")

导致:

|   colA    |
___________
| 5|4|4|0 |
| 5|4|4|4 |

我最终使用了以下两个答案的组合,因为单独使用任何一种方法仍然给我留下仅包含“255”的行。这是最终查询:

SELECT t.colA
FROM my_table t
WHERE (t.colA IN ('4', '5') OR t.colA LIKE "%|5|%"
OR t.colA LIKE "%|5" OR t.colA LIKE "5|%")
AND t.colA NOT LIKE "%3%"
AND t.colA NOT LIKE "%|2|%"
AND t.colA NOT REGEXP "^2|%"
AND t.colA NOT REGEXP "%|2$"

可能有一种更优雅的方法来做到这一点,但它确实有效。

最佳答案

使用 LIKE 怎么样?功能 ?

where (t like  '%4%' or t like  '%5%')
and (t not like '%2%' and t not like '%3%')

这应该可以完成工作。

关于sql - 黑斑羚查询 : Find value in pipe-separated list,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31173825/

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