Database 需要比较firebird中的斑点吗

Database 需要比较firebird中的斑点吗,database,blob,firebird,Database,Blob,Firebird,我需要检查数据库中blob的内容(是的,复数形式,但一次只解决一个问题) 在一个数据库中,我有大约900张大小可能不同的图像。我需要检查应用程序中内置的版本控制系统是否正确地将图像数据从以前的版本复制到记录的新版本 我如何整体比较数值,这样我就不必一次一张地挑出每条记录,然后用FlameRobin或Firebird Maestro打开blob,然后直观地比较这些图像 感谢您的帮助。尝试对每个bolb进行哈希运算(如md5),看看它们是否相同 SELECT oldTable.PK

我需要检查数据库中blob的内容(是的,复数形式,但一次只解决一个问题)

在一个数据库中,我有大约900张大小可能不同的图像。我需要检查应用程序中内置的版本控制系统是否正确地将图像数据从以前的版本复制到记录的新版本

我如何整体比较数值,这样我就不必一次一张地挑出每条记录,然后用FlameRobin或Firebird Maestro打开blob,然后直观地比较这些图像

感谢您的帮助。

尝试对每个bolb进行哈希运算(如md5),看看它们是否相同

SELECT
    oldTable.PK
    FROM oldTable
        LEFT OUTER JOIN newTable ON oldTable.PK=newTable.PK
    WHERE MD5(oldTable.blob_column)!=MD5(newTable.blob_column)

您可以通过两种方式处理此问题:

  • 创建某种函数,为每个图像返回唯一的值,将其存储在不同的列中并比较这些值
  • 获取一个包含“blob compare”函数的“外部函数库”(也称为“用户定义函数库”):在服务器上安装库,在数据库中声明函数并使用它

  • Firebird似乎没有MD5功能,这是个不错的主意。谢谢。尝试以下方法:添加具有md5的库