2012-03-28 9 views
1

の値を更新しようとしたとき、私は私が10文字以上のテキスト値とタイプvarchar(20)の列を更新しようとすると、私はエラー列はvarchar型

を取得するSQL Serverの2000を使用しています更新されません

文字列またはバイナリデータは切り捨てられます。

なぜですか? varchar(20)は最大20文字のテキストを受け入れる必要があります...なぜ10文字以上のテキストでそれを更新できないのですか?

+3

更新しようとしているサンプルテキスト値を使用してSQLコードを投稿できますか? – cctan

+0

UR文字列にいくつかの制御文字があるかもしれません... Uは正しくチェックしましたか? – Teja

答えて

5

あなたの文字列変数をnvarchar(n)として宣言されている場合、それは10ダブルバイト文字よりも大きな何かがvarchar(20)

に収まらないので、 varchar(n)

10 x 2 = 20 

の2倍のスペースを占有します

タイプvarcharのカラムに挿入/更新する場合は、文字列変数を適切なサイズのvarcharと宣言してください。

declare @str varchar(20) 
関連する問題