日期:2014-05-17  浏览次数:20559 次

C#枚举组合在SQL中如何保存和查询
举个例子先,假设一件衣服有下面几个颜色:Red,Green,Blue,Yellow,Black.我将颜色设置成枚举.
在操作时一个衣服可以选择好几种颜色.比如:Red | Blue | Black.我想将这个组合保存在一个字段中.
同时我还想通过这个字段进行查询.

比如我在有这样几种颜色组合的衣服:
Red | Blue | Black
Green | Yellow 
Yellow | Black
Red | Green | Black
Blue|Yellow|Black

假设我传递二个查询值:Red,Yellow
我希望查询的结果是有Red颜色或者有Yellow颜色衣服
这个想法可以实现吗?如果可以的话,具体是如何操作的?
------解决方案--------------------
patindex,charindex,like都可以
------解决方案--------------------
引用:
patindex,charindex,like都可以


不才,这样的话是不是多个条件要写多个or?有没有看上去舒服的解决办法呢?
------解决方案--------------------
1楼说得没错,但是你要注意,就是你颜色的排序要固定,不能最后读出的数据就不同了。

Tipp:
在数据库中最好不要对于string 操作,这个会比数值操作慢非常多。好好考虑一下如何修改一下数据库结构吧。如果有问题,可以短信我。:)
------解决方案--------------------
通常我们是一个属性一条记录,这样的行可能会很多,但是查询高效。
------解决方案--------------------
而且不同颜色 尺寸的价格和库存有差异,尤其是库存。出库入库的。