问题描述
ID123412345678981234000比如说如果查询1234,如果用like语句话,like%123%,会查出里面包含1234的记录有没有好的办法处理,谢谢
解决方案
解决方案二:
like%123你这样子试试!
解决方案三:
还要考虑这样的格式ID1234123456781234,981234000,123456
解决方案四:
那你说你要怎么查
解决方案五:
如果输入1234,正确的应该是查出12341234,981234000,123456这两条记录,但是用like查询的话就会查出12345678等数据
解决方案六:
用like%123那么会查出入12345678的数据啊,如果熟路123,那么就是查出123的数据,不查1234,12345等数据
解决方案七:
引用楼主jame_peng的帖子:
ID123412345678981234000比如说如果查询1234,如果用like语句话,like%123%,会查出里面包含1234的记录有没有好的办法处理,谢谢
请问楼主你是想查出什么呢?不明白你要查什么,你用like%%当然是包含的全都出来的,你快把问题说清楚一点吧!
解决方案八:
如果要查1234,那么就查出1234这条记录
解决方案九:
首先,楼主的问题描述得不是很清楚,建议仔细写清楚,:)从楼主的问题来看,看来是这个意思,比如查123,则只应该精确匹配只含有数字123的字符串,前后可以是其他字符,而不能是数字。再抽象的说,即:查找包含有关键字A的字符串,关键字A由数字组成,关键字A的前后不能是数字(但可以是字母或其他字符)分析上面的命题,包含有较复杂的逻辑,最佳的处理方案应当是使用正则表达式。楼主如果有兴趣,我会考虑就些问题写一篇文章,以做参考。
解决方案十:
引用7楼jame_peng的回复:
如果要查1234,那么就查出1234这条记录
=1234就可以了
解决方案十一:
是不是这个意思?declare@ttable([ID]intidentity(1,1),numbervarchar(50))insert@t(number)select'1234'unionallselect'1234,981234000,123456'unionallselect'123422,981234000,12345611'select*from@tselect*from@twherecharindex(','+'1234'+',',','+number+',')>0/*(所影响的行数为3行)IDnumber-------------------------------------------------------------1123421234,981234000,1234563123422,981234000,12345611(所影响的行数为3行)IDnumber-------------------------------------------------------------1123421234,981234000,123456(所影响的行数为2行)*/
解决方案十二:
引用1楼hecong875的回复:
like%123你这样子试试!
like123%你这样子试试!多试试几种组合。
解决方案十三:
楼主的意思应该是查出包括单独的123字符的数据.
解决方案十四:
select*fromtbwherecharindex(','+'1234'+',',','+ziduan+',')>0
解决方案十五:
不用模糊查询不就行了??
解决方案:
引用7楼jame_peng的回复:
如果要查1234,那么就查出1234这条记录
到现在我还不明白楼主想干嘛?如果你就是想查1234,select*fromtablewhereid='1234'如果你想查包含1234的:select*fromtablewhereidlike'%1234%'如果你想查1234开头的select*fromtablewhereidlike'1234%'如果你还要判断","符号建议用变量或者存储过程