日期:2014-05-19  浏览次数:20827 次

CharINdex大问题,请教各位高手!!
declare   @str   varchar(10)
set   @str= '800026,LM011,8001 '
--select   *   from   username   where   charindex(userid,@str) <> 0

select   charindex( 'LM011 ',@str)

怎么返回最终结果是0,
请问这是怎么回事呢,明明有LM011字符啊

------解决方案--------------------
declare @str varchar(10)
长度不够
------解决方案--------------------
declare @str varchar(100)
set @str= '800026,LM011,8001 '
select charindex( 'LM011 ',@str)
-----------
8

(所影响的行数为 1 行)
------解决方案--------------------
1楼正解 。
declare @str varchar(10)
set @str= '800026,LM011,8001 '
这样出现了裁断,实际上@str= '800026,LM0 '

------解决方案--------------------
因为varchar(10),@str实际值为 '800026,LM0 '

返回当然为0