一张数据表中某个字段A,存着 1,3,6,26,30 类似这样的数据,以逗号隔开.
现在想检索它是否包含 6
这种数据要如何处理,。 如果用 A like '%6',
首先数据多的话,效率太低,而且数据也不完全确定,
可能16,26,36......带6的数据会被查出,其实之前发过一次贴,但是当时是用access,
select * from tablename where Instr(','+Tid+',',',3,')>0
当时好像是可以用的,。...
现在换MSSQL,用CHARINDEX,但是跟like一样,16,26,36...之类的数据也会被查出.
select * from tablename WHERE CHARINDEX('2',','+Tid+',')>0数据库分割mssql
好吧,我好像有点进入误区了,...
之前以为如果 2在最后一位就不能用,如 1,2 ...因为2后面没逗号.
刚才试了,是可用的,跟 like不同,...
现在在F1查阅...
http://www.cnblogs.com/liye/archive/2010/11/01/1866339.html
where left(Tid,2)='6,'
or Tid='6'
or right(Tid,2)=',6'
or Tid like '%,6,%'