天天看點

.SQL Server中 image類型資料的比較

在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 資料類型,請在查詢中直接使用。