2016-12-19 34 views
0

テーブルの結合された行の値のチェックサムが必要です。私はこのクエリをしようとするので、私はエラーが表示されます。SELECTステートメントで文字列またはバイナリデータが切り捨てられる

Msg 8152, Level 16, State 10, Line 1, String or binary data would be truncated

SELECT TOP 10000 A.AR_Ref, 
(SELECT HASHBYTES('md5',convert(varbinary(max), 
     (SELECT [AR_Ref],[AC_Categorie],[AC_PrixVen],[AC_Coef],[AC_PrixTTC], 
       [AC_Arrondi],[AC_QteMont],[EG_Champ],[AC_PrixDev], 
       [AC_Devise],[CT_Num],[AC_Remise],[AC_Calcul],[AC_TypeRem], 
       [AC_RefClient],[AC_CoefNouv],[AC_PrixVenNouv], 
       [AC_PrixDevNouv],[AC_RemiseNouv],[AC_DateApplication] 
     FROM F_ARTCLIENT AC 
     WHERE AC.AR_Ref = A.AR_Ref AND AC_Categorie BETWEEN 1 AND 14 
     FOR XML AUTO)))) AS cscli 
FROM F_ARTICLE A 

編集:私は特別な機能を使って、私のproblemeを解決することができ(リンクはコメントでGiorgos Betsos提供)

+0

すべてのフィールドのデータ型をチェックし、値も比較します。 – Mansoor

+2

[this](http://stackoverflow.com/questions/3717977/sql-server-2008-and-hashbytes)の質問をご覧ください。それがあなたの問題に答えるならば、この投稿は重複としてマークされるべきです。 –

+0

テーブルDDLを追加してください –

答えて

1

私は思いますデータを挿入しようとしていますが、定義された長さのデータ型より長いです。この関数convert(varbinary(max))は、データサイズと競合する可能性があります。

関連する問題