SELECT *
FROM student
WHERE charindex('aaa',name)>0ltrim(colname)--去掉左边的空格
rtrim(colname) --去掉右边的空格

解决方案 »

  1.   

    我现在的情况是考虑记录中name字段的值并没有包含空格
    但是SQL语句中的匹配值'aaa  '包含了空格,
    我希望这样的德条件,[name]字段值为'aaa'的记录不被选出
    不知道为什么会被选出?
      

  2.   

    我猜测,你的name字段里肯定有其他数据的长度大于3(即aaa的长度),MSSQL在处理这个字段的时候,按照最长的那个数据的长度来确定字段的长度。而不够那个长度的(例如aaa),就走后面补空格了
      

  3.   

    [name] = 'aaa  '
    为什么[name]字段值为'aaa'的记录也选出
      

  4.   

    name字段类型为varchar(16),有其他值会有更长的字符串值