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

推荐答案

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

如果varbinary是SQL Server中字符串的二进制表示形式(例如,通过直接转换为varbinary或从DecryptByPassPhraseDECOMPRESS函数返回),则只需将其转换为CAST即可

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

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

这相当于使用样式参数为0CONVERT.

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

如其他答案所述,对于不同的要求,其他样式参数可用CONVERT.

Sql相关问答推荐

无法找到正确的SQL查询需求

Select /过滤postgr中的树 struct

在SQL中创建一个计数器,根据BigQuery/SQL中的条件递归地添加行值

如何在联接条件不匹配时按日期获取上一条记录

如何使用WSO2将空值传递给我的SQL Server存储过程?

仅在特定字符串之后提取两个圆括号之间的计量单位文本

我可以在SQL的IN子句中使用比子查询包含的值更少的值吗?

带上最后日期(结果)

合并分层表SQL中的第一个非空、变化的空位置

将 jsonb 数组中的对象取消嵌套到单独的行中

使用 SQL 将列添加到 Access 数据库时出错

在 PostgreSQL 中,如何让多个判断约束引用相同的值数组?

如何在第二个 INSERT 中使用第一个 INSERT 自动生成的 ID

在没有订单的情况下,如何生成一个值为0的顾客天数行

Oracle函数中无法动态迭代创建的SYS_REFCURSOR

PostgreSQL - 递归地聚合来自不同列的属性

Teradata 多个进程的最大进程结束时间捕获

postgres按组消除分区中的NULLS

在 postgresql 中保存带有时间戳的几何类型数据

SQL Group By 然后映射出是否存在值