declare @a char(20) 有空白

解决方案 »

  1.   

    declare @a char(4)
    declare @b char(100)
    select @a='12as',@b='ahfksfhksflsdug12asdfkgdfkg'
    print patindex('%'+@a+'%',@b) 
    结果为“0”char(20)包括空格
    如果@a,@b任一为varchar(),数据库将@a,@b都隐性转换为varchar()
      

  2.   

    declare @a char(4)
    declare @b char(100)
    select @a='12as',@b='ahfksfhksflsdug12asdfkgdfkg'
    print patindex('%'+@a+'%',@b) 
    结果为“0”char(20)包括空格
    如果@a,@b任一为varchar(),数据库将@a,@b都隐性转换为varchar()
      

  3.   

    len不计尾空格
    print datalength(@a)
    20