gpt4 book ai didi

php - 将从字符串中选择 '2' 而不是 '12' 的 LIKE 子句

转载 作者:可可西里 更新时间:2023-11-01 07:46:44 25 4
gpt4 key购买 nike

我有一个遗留数据库,其中包含一个字段“User_Defined”,其中包含一个描述每条记录所属项目的字符串。项目 ID 是该字符串中以逗号分隔的数字。例如,记录可能包括:

2
12
22
2,12
2,8,10,12
2,12,20,120,220

当前的查询是这样的:

SELECT tbl_species.Species_ID, 
tbl_species.Common_Name,
tbl_species.User_Defined
FROM tbl_species
WHERE User_Defined LIKE '%2';

在这种情况下,查询当然会返回字符串中任意位置包含“2”的所有记录。我在这里选择 2,但它可以是通过 PHP 变量传入的任何数字。

我的问题是如何设计查询以使其仅返回包含 2 但不包含 12、22、120 等的记录?

顺便说一句,我意识到解决这个问题的正确方法是创建一个查找表来处理这个关系,但如果我能在下一次重新设计之前修补它,那就太好了!

谢谢!

最佳答案

尝试使用 FIND_IN_SET :

WHERE FIND_IN_SET('2', User_Defined)

关于php - 将从字符串中选择 '2' 而不是 '12' 的 LIKE 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7760685/

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