SQL Server 上的 varbinary 到字符串

2021-12-10 00:00:00 sql sql-server-2005 tsql sql-server

如何以人类可读的形式将列值从 varbinary(max) 转换为 varchar?

How to convert a column value from varbinary(max) to varchar in human-readable form?

推荐答案

varbinary 转换为 varchar"可能意味着不同的事情.

"Converting a varbinary to a varchar" can mean different things.

如果 varbinary 是 SQL Server 中字符串的二进制表示(例如通过直接转换为 varbinary 或从 DecryptByPassPhraseDECOMPRESS 函数)你可以 CAST

If the varbinary is the binary representation of a string in SQL Server (for example returned by casting to varbinary directly or from the DecryptByPassPhrase or DECOMPRESS functions) you can just CAST it

declare @b varbinary(max)
set @b = 0x5468697320697320612074657374

select cast(@b as varchar(max)) /*Returns "This is a test"*/

这等效于使用带有 0 样式参数的 CONVERT.

This is the equivalent of using CONVERT with a style parameter of 0.

CONVERT(varchar(max), @b, 0)

其他样式参数可与 CONVERT 一起用于其他答案中指出的不同要求.

Other style parameters are available with CONVERT for different requirements as noted in other answers.

相关文章