只为成功找方向,不为失败找借口

每天都不能停止前进的脚步
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

SQL 语句常见错误

Posted on 2010-01-26 14:42  冰碟  阅读(741)  评论(0编辑  收藏  举报

1,警告: 聚合或其他 SET 操作消除了空值。

原因:

  当执行聚合函数时,操作了NULL值。

例如:

  表中的数据为

    num:10,23,null,23

  当执行select sum(num) from table时就会出现这个警告提示。

  一般情况下,这种警告不会影响结果。

解决:

  (1)更改数据库的值,update num = 0 where num = null

  (2)SET   ANSI_WARNINGS     OFF

    当设置为 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 时,数据将剪裁为列的大小,并且语句执行成功