How can I do this (SQL 2000). I have a stored procedure that accepts a text parameter (@BodyText). I only want to store this if it is different from what is stored already. I tried using = and got the message saying this was invalid for text datatypes. I then tried the following IF EXISTS(SELECT * FROM tblContentVersions WHERE (FTIdentifier = @FTIdentifier) AND (VersionId = @VersionId) AND (SUBSTRING(BodyText, 1, DATALENGTH(BodyText)) = SUBSTRING(@BodyText, 1, DATALENGTH(@BodyText)))) BEGIN SET @IsContentAltered = 0 END ELSE BEGIN SET @IsContentAltered = 1 END But this seems to not catch some changes (I suspect very likely if the 2 are different after the 8000th character) Any ideas?