估计楼主多半是在企业管理器中创建存储过程,企业管理器中的默认ANSI_NULLS 和ANSI_WARNINGS 选项的设置不符合异类查询要求

解决方案 »

  1.   

    谢了楼上的在存储过程中果然可以,但企业管理器中的默认ANSI_NULLS 和ANSI_WARNINGS 选项应该怎么设置????????
      

  2.   

    SET ANSI_NULLS OFF
    SET ANSI_WARNINGS  OFFSQL-92 标准要求对空值的等于 (=) 或不等于 (<>) 比较取值为 FALSE。当 SET ANSI_NULLS 为 ON 时,即使 column_name 中存在空值,使用 WHERE column_name = NULL 的 SELECT 语句仍返回零行。即使 column_name 中存在非空值,使用 WHERE column_name <> NULL 的 SELECT 语句仍返回零行。当设置为 ON 时,如果聚合函数(如 SUM、AVG、MAX、MIN、STDEV、STDEVP、VAR、VARP 或 COUNT)中出现空值,将生成警告信息。当设置为 OFF 时,不发出警告。
    当设置为 ON 时,被零除错误和算术溢出错误将导致回滚语句并生成错误信息。当设置为 OFF 时,被零除错误和算术溢出错误将导致返回空值。如果在 character、Unicode 或 binary 列上尝试执行 INSERT 或 UPDATE 操作,而这些列中的新值长度超出最大列大小,则被零除错误和算术溢出错误将导致返回空值。如果 SET ANSI_WARNINGS 为 ON,则按 SQL-92 标准的指定将取消 INSERT 或 UPDATE。将忽略字符列的尾随空格,忽略二进制列的尾随零。当设置为 OFF 时,数据将剪裁为列的大小,并且语句执行成功。
      

  3.   

    SET ANSI_NULLS ON 
    SET ANSI_WARNINGS ON
    EXEC  xls
    SET ANSI_NULLS ON 
    SET ANSI_WARNINGS ON