SOFTELメモ

</> 技術者募集

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で割ろうとしたりすると、エラーになる。

参考

http://msdn.microsoft.com/ja-jp/library/ms190368.aspx

関連するメモ

コメント