Comment comparer les types de données d'image dans SQL Server

J'ai beaucoup de mal à écrire une instruction select pour comparer deux valeurs dans t-sql qui sont de type image. C'est ce que j'ai jusqu'ici:

SELECT a.UserId, b.UserId FROM [dbo].[aspnet_Profile] as a inner join [dbo].[aspnet_Profile] as b on (a.UserId = <some ssortingng> AND b.UserId = <some other ssortingng>) WHERE BINARY_CHECKSUM(a.PropertyValuesBinary) = BINARY_CHECKSUM(b.PropertyValuesBinary) 

Mais je continue à recevoir des messages d'erreur, peu importe ce que je fais à la clause WHERE. Pour la requête ci-dessus, le message d'erreur que je reçois est:

Erreur dans binarychecksum. Il n'y a pas de colonnes comparables dans l'input binarychecksum.

En tout cas, toute aide serait très appréciée. J'ai vraiment du mal à faire quoi que ce soit avec ce type de données, pour une raison quelconque …

BTW: J'utilise SQL Server Web (je pense que c'est l'édition 2008) …

Merci!

Andrew

Vous ne pouvez pas utiliser binarychecksum sur les types d'image

BINARY_CHECKSUM ignore les colonnes de types de données non comparables dans son calcul. Les types de données non comparables incluent les types définis par l'user tels que text, ntext, image, cursor, xml et CLR (Common Language Runtime) non comparables.

http://msdn.microsoft.com/en-us/library/ms173784.aspx

Il pourrait être plus facile de stocker un MD5 avec l'image. Je ne peux pas imaginer que vous obteniez de bonnes performances en demandant un binary_checksum de toutes vos images!

Pouvez-vous faire cela?

  select BINARY_CHECKSUM(A.PropertyValuesBinary) from aspnet_Profile as A 

Connaître le # des messages d'erreur nous aiderait à vous aider.