我在MySQL表中有字段。该领域被称为' vehicle'当我添加车辆时,我按ID而不是名称添加它们,因此该字段填充为&#;; 2:3:4:6:7:9' 2将是一辆车,7将是一辆自行车等。
我想快速而简单地想要做的就是当我查询表格时,我想看看现场车辆是否含有' 2'在2:3:4:7:9中的那个领域。
我已经尝试了很多但是空白了吗?
由于
答案 0 :(得分:0)
如果您只是想找到任何特定号码,那么就这样做
$data = "2:3:4:6:7:9";
echo "found on index : " . array_search("2", explode(":", $data));
答案 1 :(得分:-1)
您可以在查询查询中使用 FIND_IN_SET ,例如
SELECT *
FROM yourTable
WHERE FIND_IN_SET('2',REPLACE(vehicle ,':',',')) > 0;
<强>样品强>
mysql> SELECT FIND_IN_SET('1',REPLACE('2:3:4:7:9',':',',')) as a;
+------+
| a |
+------+
| 0 |
+------+
1 row in set (0,00 sec)
mysql> SELECT FIND_IN_SET('2',REPLACE('2:3:4:7:9',':',',')) as a;
+------+
| a |
+------+
| 1 |
+------+
1 row in set (0,00 sec)
mysql> SELECT FIND_IN_SET('7',REPLACE('2:3:4:7:9',':',',')) as a;
+------+
| a |
+------+
| 4 |
+------+
1 row in set (0,00 sec)
mysql> SELECT FIND_IN_SET('8',REPLACE('2:3:4:7:9',':',',')) as a;
+------+
| a |
+------+
| 0 |
+------+
1 row in set (0,00 sec)