我希望得到一个表的连接行值的校验和。因此,当我尝试此查询时,我收到错误:
消息8152,级别16,状态10,行1,字符串或二进制数据将是 截短的
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
编辑:我可以通过使用特殊功能解决我的问题(Giorgos Betsos在评论中提供链接)
答案 0 :(得分:1)
我认为您尝试插入的数据比您定义的数据类型长度更长。此函数convert(varbinary(max))可能与您的数据大小冲突。