在SQL Server中如果你對text、ntext或者image資料類型的資料進行比較。将會提示:不能比較或排序 text、ntext 和 image 資料類型,除非使用 IS NULL 或 LIKE 運算符。不過image也是不支援like比較的。
那怎麼樣對資料庫中的圖檔做比較呢。
對于這種大型對象的處理,在Oracle中有有專門的函數DBMS_LOB.COMPARE,而SQLSERVER中沒有專門的處理函數,
隻能通過使用substring函數一段一段的從image資料中截取放到varbinary類型資料,最長8060位元組(8k),
然後再對varbinary類型資料進行比較。以下是一個比較image的函數例子:
注意:局部變量的類型是任何由系統提供的或使用者定義的資料類型。變量不能是 text、ntext 或 image 資料類型,請在查詢中直接使用。