84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
如果只用sql语句是可以行的吗?
select * from table where substring_index(field, ',', 1) = '10' 截取第一个逗号前面的部分
不太明白你的问题,按照我的理解不就是简单的select * from test where id = 10。
使用模糊匹配:select * from test where column like "%10%"PS:感觉这样的需求有些奇怪,是否数据库设计不合理。
select * from test where column like "%10%"
从题意上看,解决办法可以是自定义函数,切分字段用的,然后再判断,1.自定义函数,待补2.查询语句select * from table where 1=hasTen(column)
粗暴妥协一点的做法select * from table where column like '10,%'||select * from table where column like '%,10,%'||select * from table where column like '%,10'
如果能够保证字段一定是a,b的形式或许会好解决一点
参考一下:select * from test where concat(',', column, ',') like "%,10,%"
select * from test where concat(',', column, ',') like "%,10,%"
不太明白你的问题,按照我的理解不就是简单的select * from test where id = 10。
使用模糊匹配:
select * from test where column like "%10%"
PS:感觉这样的需求有些奇怪,是否数据库设计不合理。
从题意上看,解决办法可以是
自定义函数,切分字段用的,然后再判断,
1.自定义函数,待补
2.查询语句
select * from table where 1=hasTen(column)
粗暴妥协一点的做法
select * from table where column like '10,%'
||
select * from table where column like '%,10,%'
||
select * from table where column like '%,10'
如果能够保证字段一定是a,b的形式或许会好解决一点
参考一下:
select * from test where concat(',', column, ',') like "%,10,%"