gpt4 book ai didi

mysql - Sql - 我可以在记录中搜索特定数字吗?

转载 作者:行者123 更新时间:2023-11-29 01:31:08 25 4
gpt4 key购买 nike

我在表中有一列包含如下数据:

column: col_name
row 1: 3451,3547,234,456,6487,2341,7856,546,76
row 2: 4746,234,6757,234,7657,6346,563
row 3: 546,7467,4562,456,234
row 4: 563,3246,5641,4637,234,7854,567,577

我希望能够根据其中是否包含特定数字来选择一条记录。

例如当 234 出现在所有行中时,它会选择所有行; 563出现在2等等。这不起作用:

select col_name from table_name where col_name like '%234%';

我认为这可能是因为我对应该如何选择列和行感到困惑,但我对其他可行的方法一无所知,感谢帮助!

编辑:我想我把自己和一些回复者(抱歉,伙计们)弄糊涂了。我不是要查找与我的查询匹配的列名,而是要在与我的查询匹配的列中查找数据,也就是行中的数据。有些答案似乎针对未知的列名称,但我知道我使用的是哪个列。

如果我搜索其中包含 563 的行,这是我期望得到的结果:

4746,234,6757,234,7657,6346,563      (row 2)
563,3246,5641,4637,234,7854,567,577 (row 4)

如果我像这样使用查询中的所有值搜索它:

select col_name from table_name where col_name = '4746,234,6757,234,7657,6346,563';

然后它将返回行:

4746,234,6757,234,7657,6346,563      (row 2)

但我只想使用一个数字而不是多个来搜索它,因为它们代表不同的事物。

最佳答案

您可以使用 FIND_IN_SET 执行此操作:

SELECT col_name 
FROM table_name
WHERE FIND_IN_SET('563', col_name);

例子:SQLFiddle

关于mysql - Sql - 我可以在记录中搜索特定数字吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12245781/

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