|孤注一掷. 发表于 2012-9-15 12:01:09

LIKE语句查询问题 求帮忙



有个数据表 要把字段type里等于1的数据表查出来, 只等于1的 像 21,11,11 这样的数据不允许查出来

也就是结果只能查出第一条数据 这样的LIKE 语句怎么写啊?

id                        title                     type
1                     标题1                   11,31,21,1
2                     标题2                  91,87,31,11
3                     标题3                  41,11,114
4                     标题4                   19,17,21,217,211


朱建军 发表于 2012-9-17 20:35:06

对的,不需要了,没注意看这句的用途

^淡如清风 发表于 2012-9-17 16:43:22

id                        title                     type
1                     标题1                   11,31,21,1,
2                     标题2                  91,87,31,11,
3                     标题3                  41,11,114,
4                     标题4                   19,17,21,217,211,

type的存储内容后面全部都要加个逗号

SELECT * FROM table WHERE type = 1 AND type LIKE ('%1,%');

朱建军 发表于 2012-9-17 17:15:10

这样也不行的
应该这样
SELECT * FROM table WHERE type = 1 AND
(type LIKE ('1,%')
or type LIKE ('%,1')
or type LIKE ('%,1,%'))
;
应该分别考虑1开头的,1结尾的和1在中间的

大道达人 发表于 2012-9-17 17:19:24

朱建军 发表于 2012-9-17 17:15 static/image/common/back.gif
这样也不行的
应该这样
SELECT * FROM table WHERE type = 1 AND


type = 1 是不是应该不要了?

Aloghli 发表于 2014-9-19 11:07:26

{:1_1:}

wlisoft 发表于 2014-9-19 12:34:47

写个函数,根据逗号分开,找值为1的记录就行
页: [1]
查看完整版本: LIKE语句查询问题 求帮忙