--将varbinary转换为十六进制的字符串
declare @b varbinary(300), @str varchar(300)
select @b = 0x06555755565A5A5B595F5C5C5C41434142464647454B4848484D
exec master..xp_varbintohexstr @b, @str out
declare @b varbinary(300), @str varchar(300)
select @b = 0x06555755565A5A5B595F5C5C5C41434142464647454B4848484D
exec master..xp_varbintohexstr @b, @str out
解决方案 »
- sql
- 求助查询中所用的表名或别名不匹配。
- 菜鸟问题:Sql server 2008 R2 (64bit),使用混合登录后, 查询字段和表都显示错误。结贴马上给分!
- 外网如何访问单位内部网的sql服务器
- sa未与信任SQL Server连接相关联???
- ******类似于消除重复记录的问题?
- 数据位数问题,输入的数据位数怎么跟读取的不一样
- 如何用编程方式备份/恢复或者是导出/导入数据库中的某些表(注意不是所有的表)!!该如何书写语句?
- 在SQL7中,进行大量数据查询时(100万条), 如何优化?
- 请教个多表联合查询的基础问题
- 寻求更新数据的语法
- 请教sql中2个datetime类型的字段相减问题?
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f_bin2str]') and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[f_bin2str]
GOcreate function f_bin2str(@bin varbinary(300))
returns varchar(300)
as
begin
declare @re varchar(300)
exec master..xp_varbintohexstr @bin,@re out
return(@re)
end
go--调用:
select dbo.f_bin2str(pos_password) from v_data_info_query
set @b=cast('中国人' as varbinary(300))
select convert(varchar,@b)
declare @logintable table(username varchar(20),passwd varbinary(256))
insert @logintable(username,passwd) values('yourname',pwdencrypt('123456'))declare @pwd varbinary(256)select @pwd=passwd from @logintable where username='yourname'
--比较:
if pwdcompare('12356',@pwd)=1
print 'true'
else
print 'false'select * from @logintable