2

会社のデータベースの文字列の一部だけを置き換えようとしています。更新しようとしている列はですMERGECODES (varchar(20),null)。この列の一般的な値は、のようになります'M, GPE, T'

Tのすべてのインスタンスをに置き換えたいのKDですが、以下のエラーが発生します。これにより、同じ文字数以下の文字を変更できます。たとえば、に置き換えることはできますが、に置き換えることはできTませKKD。どんな助けでも大歓迎です。みんなありがとう!

コード:

UPDATE GoldMine.dbo.CONTACT1 
SET MERGECODES = REPLACE(MERGECODES, 'T', 'KD')

エラー:

メッセージ8152、レベル16、状態14、行1
文字列またはバイナリデータは切り捨てられます。ステートメントは終了されました。

4

1 に答える 1

6

データ型のサイズを増やす必要があります。

現在、あなたは持っていvarchar(20)ます。

データの長さが20文字で、1文字を2に置き換えると、21文字になり、切り捨てが発生します。

varchar(50)たとえば、データ型をに増やしてみてください。これで問題が解決するはずです。

于 2012-08-14T14:52:47.763 に答える