SQL Server で カラムの幅を超えたときでもSQLは実行して欲しい
問題
100文字までの文字列型のカラムに、100文字以上入れるinsert文を実行すると、以下のエラーとともに、SQLは反映されずに終了します。
[Microsoft][SQL Server Native Client 11.0][SQL Server]文字列データまたはバイナリ データが切り捨てられます。
適当に切り捨てて、カラムに入る分だけ登録させてもらうわけにはいかないか?
答え
以下のSQLで、動作を変更できる。
SET ANSI_WARNINGS { ON | OFF };
SET ANSI_WARNINGS OFF;
にすると、MySQLっぽくルーズな感じになる。
SET ANSI_WARNINGS ON;
にすると、型の幅を超えたデータを入れようとしたり、0で割ろうとしたりすると、エラーになる。
コメント