MSSQL 2005 で次のことを試してください。
select convert(char(2), 123)
ここで重要なのは、char(2) が小さすぎて値「123」を受け入れることができないということです。ここで切り捨てエラーが発生すると予想されますが、代わりに値「*」が返されます。
更新: いくつかの回答は、エラーを引き起こす方法でキャストする方法を示しました。それは私が本当に必要としているものではありません。以前は char(2) と宣言されていたが、その後 int に変更された特定のフィールドを使用する多くのコードがあります。ここでの私の目標は、変換されていないコードが処理できないデータに遭遇した場合に失敗することを確認することです。だから、私たちはそれを修正することができます.
興味深いことに、dsolimanoは、上記の型を nchar に変更すると予想されるエラーが発生することを指摘し、Justin Niessnerは、これらは両方とも設計によるものであると指摘しています。nchar が Unicode サポート用であることを考えると、奇妙な矛盾ですね。
ここにある回答から、悲しいことにサーバーに既存のコードのエラーをスローさせることができないようです。