摘要:
项目中用到了case when 做判断条件分支进行更新表,犯了特别二的错误:以为case when 只操作符合条件的,不符合条件的不做操作,结果把本认为不更新的更新为默认值NULL了。如需求:更新salary表中salary字段的值>5000的降低0.1表salary数据如下若更新语句为update salary set salary=case when salary>5000 then salary*0.9 end更新结果为,所有salary小于等于5000的全为null。结果明显不符合要求,只因为错用了case when 。注意一点,ELSE是必需的,要是没有,不符合条件的将全 阅读全文
摘要:
错误提示:聚合或其他 SET 操作消除了 Null 值解决办法:SET ANSI_WARNINGS OFF语法 :SET ANSI_WARNINGS { ON ¦ OFF } 注释 :SET ANSI_WARNINGS 影响以下情况: 当设置为 ON 时,假如聚合函数(如 SUM、AVG、MAX、MIN、STDEV、STDEVP、VAR、VARP 或 COUNT)中出现空值,将生成警告信息。当设置为 OFF 时,不发出警告。 阅读全文