MS SQL SERVER 2003を使用しています。テーブルの1つの列を変更して、エントリの文字数を減らしたいと考えています。これは、この質問と同じです。より多くの文字を受け入れるのではなく、より少ない文字が必要であるという事実を除いて、より多くの文字を受け入れるようにテーブル列を変更します。
テーブルの1つに、9桁のエントリを保持する列があります。以前にテーブルで作業していた開発者が、誤って列を10桁のエントリを保持するように設定しました。CHAR(10)
タイプをからに変更する必要がありCHAR(9)
ます。
上にリンクされた議論からの指示に従って、私は声明を書きました
ALTER TABLE [MY_TABLE] ALTER COLUMN [MY_COLUMN] CHAR(9);
これにより、「文字列またはバイナリデータが切り捨てられます」というエラーメッセージが返されます。9桁の文字列には、10桁にするためのスペースが追加されていることがわかります。
余分なスペースを破棄して列をCHAR(9)タイプに変換するようにSQL Serverに指示するにはどうすればよいですか?