【发布时间】:2019-02-02 02:31:14
【问题描述】:
在一个 MySQL 表中,我有一个名为 ShareID 的 VARCHAR 列。
- 如果第 1 行的 ShareID 值包含 1 形式的字符串
- 并且第 2 行的 ShareID 值包含 10, 1 形式的字符串
- 第 3 行的 ShareID 值包含 111, 12 形式的字符串。
我想获取 ShareID 为 1 的所有行。即这里只有第一行和第二行。
我尝试过使用 LIKE 命令,如下所示:
SELECT * FROM tablename WHERE ShareWithID LIKE '1%';
但这会捕获其中包含数字 1 的所有行,即第 3 行,这不是我想要的。
我想运行一个只返回上面第 1 行和第 2 行的命令,因为它们的 ShareID 为 1。
我尝试了各种命令(包括 REGEXP 和 IN)并管理了一个“frig”解决方案,我会在 ShareID 列中的每个数字之后放置一个逗号,包括最后一个(即 10, 1,),然后执行这个命令:
SELECT * FROM tablename WHERE ShareWithID LIKE '%1,%';
但我宁愿使用适当的解决方案,而不是一个被操纵的解决方案。
欢迎任何指导。
【问题讨论】:
标签: mysql sql select substring