当前位置: 代码迷 >> Sql Server >> 在一个字段里比较大小?该如何处理
  详细解决方案

在一个字段里比较大小?该如何处理

热度:103   发布时间:2016-04-27 14:40:28.0
在一个字段里比较大小???急
在一个字段里有
  序号 价格  
  1 100,150,400,450,668  
 
  2 350,510,600,750,768  

  3 250,450,460,550,668  

我想查出价格在 200-400之间的,或300-500之间的,也可能是100-500

 求高手????

------解决方案--------------------
先拆分,再查询.
------解决方案--------------------
SQL code
create table tb(序号 int,价格 varchar(20))insert into tb select 1,'100,150,400,450,668'insert into tb select 2,'350,510,600,750,768'insert into tb select 3,'250,450,460,550,668'godeclare @min int,@max intset @min=200set @max=400    --你可以改变这两个值select distinct 序号 from(select a.序号,substring(a.价格,b.number,charindex(',',a.价格+',',b.number+1)-b.number)价格from tb a,master..spt_values bwhere b.type='p' and b.number<=len(a.价格) and substring(a.价格,b.number,1)<>',' and substring(','+a.价格,b.number,1)=',')t where 价格 between @min and @max/*序号-----------123(3 行受影响)*/godrop table tb
------解决方案--------------------
合并拆分列 N多
------解决方案--------------------
lz是否可以考虑在程序端实现呢。
非要在数据库里实现的话。效率不一定会高。。
------解决方案--------------------
拆了再查!
  相关解决方案