一个写查询的问题。假设数据库里有个表A 字段 b 他存的数据格式大概是这样的1,5,10,20。。。 就是说1啊5啊什么
一个写查询的问题。 假设数据库里有个表A 字段 b 他存的数据格式大概是这样的 1,5,10,20 。。。 就是说1啊5啊什么 对应其他表里的id什么。。先不管。 现在假设 要查询 这个字段中 为5的,要怎么样处理呢 用like 的话有可能有 15,50 这样的。。。 java的[解决办法] 不太理解楼主的意思。是想要15,50那样的,还是只想要5啊? 只想要5的话,直接用=不行么?为什么要用like? SQL语句的写法和你编程语言没有太大关系,你把语句拿到数据库查询分析器里能用,放到程序里执行肯定也是一样的。[解决办法]
引用: 引用:不太理解楼主的意思。是想要15,50那样的,还是只想要5啊? 只想要5的话,直接用=不行么?为什么要用like? SQL语句的写法和你编程语言没有太大关系,你把语句拿到数据库查询分析器里能用,放到程序里执行肯定也是一样的。 一个字段值 5= 1,5,10,20 ? 用like 可能会把包含5的这样的查出来。其实那是不要的…… 我更糊涂了,楼主说明白一点吧,你的1,5,10,20代表什么?一个字符串?
[解决办法] 估计是一个字段里面存储了1,2,3,5,15,20 然后需要找到里面包含5的?是这个意思吗?
如果是的话可以这样吗 = "5" or like "%,5,%" or like "5,%" or like "%,5";根据你的分隔符
[解决办法] 我在风中凌乱了,LZ什么意思?没太懂
[解决办法] 我正在做的项目基本都是这么做的 但是根据这个分割的有专门的查询方法
如楼主的需求 oracle 可写如下查询一次查出来
SELECT * FROM A
where instr(','
[解决办法] A.b
[解决办法] ',', ','
[解决办法] 5
[解决办法] ',') > 0
[解决办法] 引用: 这个是一对多关系, 里面数字分别代表一样东西,是其他表里的id 你的字段属性是什么?字符型?
那就用like吧,就是条件写具体一点就行了
引用: 估计是一个字段里面存储了1,2,3,5,15,20 然后需要找到里面包含5的?是这个意思吗? 如果是的话可以这样吗 = "5" or like "%,5,%" or like "5,%" or like "%,5";根据你的分隔符 这个就可以啊
[解决办法] 不知道楼主用的是什么数据库。如果用的是oracle10g的话可以直接用oracle的正则。
如果不是的话自己写个函数去解析这个。
[解决办法] 引用: 我正在做的项目基本都是这么做的 但是根据这个分割的有专门的查询方法 如楼主的需求 oracle 可写如下查询一次查出来 SELECT * FROM A where instr(','[解决办法] A.b[解决办法] ',', ','[解决办法] 5[解决办法] ',') > 0 oracle 这个 没有别人说的那么复杂 这个就是专门处理这个问题的!楼主求测试!分个求,正则个求,自己写个求的函数
[解决办法] LZ这个问题我遇到过,
1、如果1,5,10,20 。。。 这个是序列号什么的,可以在插入数据库时将值设置大一些,不要让这些数据之间有重复,比如1000001,1000005,1000010。。。。。
2、插入数据库是首尾带上个逗号,比如,1,5,10,20 , 然后like时就是 like '%,xxx,%',也就没问题了。
3、可以自己写个函数将1,5,10,20分割开,然后用exists。