0

是否有一种简单的方法(如转换或转换)将二进制字段作为字符串返回而不实际转换或转换它?

我想要的数据在数据库中如下所示:

0x24FC40460F58D64394A06684E9749F30

使用 convert(varchar(max), binary_field) 时,返回如下:

$ü@FXÖC” f„étŸ0

cast(binary_field as varchar(max)) 具有相同的结果。

我正在尝试在旧的 vb.net 应用程序中修改数据源,所以我希望它是一个类似于现有值的字符串,但仍然看起来像原始数据。不必在查询中这样做,但如果可能的话,我想避免过多地修改旧的 vb 代码。

这是我的选择声明:

SELECT strName, strDesc, binUUID
  FROM MyTableName
  where intFamily = '1234'
  order by strName

或者,如果我确实转换/转换它,将稍后存储为字符串的“$ü@FXÖC”f„étŸ0”与以相同方式收集的另一个值进行比较是否安全?

4

1 回答 1

2

有一个内置函数可以从二进制值生成十六进制字符串

SELECT sys.fn_varbintohexstr (0x24FC40460F58D64394A06684E9749F30)
于 2013-05-02T14:25:43.460 回答