--将varbinary转换为十六进制的字符串
declare @b varbinary(300), @str varchar(300)
select @b = 0x06555755565A5A5B595F5C5C5C41434142464647454B4848484D
exec master..xp_varbintohexstr @b, @str out

解决方案 »

  1.   

    TO:
    zjcxc(邹建.共享果) 
    谢谢,你的方法可行。可是这要有访问MASTER数据库的权限,同时我想在查询语句中使用,还有什么好方法?如:select binarytohexstr(Password) from Users where Account = 'abc'
    其实查询分析器中是怎么转换的
    declare @b varbinary(300), @str varchar(300)
    select @b = 0x06555755565A5A5B595F5C5C5C41434142464647454B4848484D
    print @b
    就可以正确显示
      

  2.   

    --可以改成函数,这样就可以直接在查询语句中使用了:--转换函数
    create function f_varbintohexstr(
    @bin varbinary(300)
    ) returns varchar(300)
    as
    begin
    declare  @str varchar(300)
    exec master..xp_varbintohexstr @bin, @str out
    return(@str)
    end
    go--调用示例
    select dbo.f_varbintohexstr(0x06555755565A5A5B595F5C5C5C41434142464647454B4848484D)
    go