mysql中字段包含问题

dl861217 2012-08-25 10:37:18
mysql数据表中包含两个字段,字段类型 为字符串,其中一个字段可能包含另一个字段的内容,如下所示
a b
130000 130000,130001
120001 110000
在上述表格中第一行,字段b包含字段a的内容130000;而第二行,字段b不包含字a的内容。

现在需要把 像第一行这样的数据搜索出来,请问有何好的方法呢?
...全文
119 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
dl861217 2012-08-25
  • 打赏
  • 举报
回复
如果a,b字段数据是这样的形式
|a |b |
|3300 | {"330000":[330102,330203],"250000":[250201,250301]}|
|3201 |{"320000":[320102,320303]}|

在第一行中,b字段包含字符串为 330000,330102,3303203,250000,250201,250301;
a字段字符串为3300,a中的3300属于b中330000的子串,因此,我们认为b字段包含a字段。

第二行同理,得出b字段包含a字段

请问 ,满足 如上所述的字段包含关系的 数据该怎么提取呢?
dl861217 2012-08-25
  • 打赏
  • 举报
回复
非常感谢~

如果表格数据是这样的
| a | b |
|3301 | {"330000":[330100 330102],"320000":[320101 320201]} |
|3201 | {"330000":[330100 330102],"320000":[320101 320201]} |

把b字段中包含a字段的数据搜索出来,例如 b字段中含有子串“330100”,则认为字段b包含字段a

这种数据 该怎么处理呢?
小小小小周 2012-08-25
  • 打赏
  • 举报
回复
root@localhost : test 01:14:58>select * from cs;
+-------+----------+
| a | b |
+-------+----------+
| 123 | 123,234 |
| 11 | 12,13,32 |
| 54,43 | 54 |
+-------+----------+
3 rows in set (0.00 sec)

root@localhost : test 01:15:52>select * from cs where find_in_set(a,b);
+------+---------+
| a | b |
+------+---------+
| 123 | 123,234 |
+------+---------+
1 row in set (0.00 sec)
ACMAIN_CHM 2012-08-25
  • 打赏
  • 举报
回复
select * from mysql数据表 where find_in_set(a,b)

56,875

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧