備註
SET ANSI_WARNINGS 會影響下列狀況:
當設為 ON 時,如果彙總函式 (如 SUM、AVG、MAX、MIN、STDEV、STDEVP、VAR、VARP 或 COUNT) 中出現 Null 值,就會產生警告訊息。 當設為 OFF 時,不會產生警告訊息。
當設為 ON 時,除以零和算術溢位錯誤會造成陳述式的回復,且會產生錯誤訊息。 當設為 OFF 時,除以零和算術溢位錯誤會造成傳回 Null 值。 如果在 character、Unicode 或 binary 資料行中嘗試 INSERT 或 UPDATE,且新值長度超過資料行的大小上限時,除以零或算術溢位錯誤會造成傳回 Null 值。 如果 SET ANSI_WARNINGS 為 ON,INSERT 或 UPDATE 就會依 ISO 標準的指定加以取消。 字元資料行尾端的空格會被忽略,二進位資料行尾端的 Null 也會被忽略。 當它是 OFF 時,便會將資料截斷成為資料行大小,陳述式會繼續作業。
參考: https://docs.microsoft.com/zh-tw/sql/t-sql/statements/set-ansi-warnings-transact-sql?view=sql-server-ver15