0

我想将 Password 从varchar转换为binary

我有这样的查询,

SELECT 'INSERT INTO Table2(Username,password)values('+
IsNull(''''+wl.UserName+'''', 'NULL')+','+
     HASHBYTES('MD5',ISNULL(wl.Password,'NULL'))+')'

但是当我执行上面的代码时出现错误,

  The data types nvarchar and varbinary are incompatible in the add operator.

我需要你的帮助。我的查询是正确的。为什么会这样显示。

4

1 回答 1

0

您可以使用此查询。

SELECT 'INSERT INTO Table2(Username,password)values('+
IsNull(''''+wl.UserName+'''', 'NULL')+','+
      isnull('0x' + cast('' as xml).value('xs:hexBinary(sql:column("password") )', 'varchar(max)'),'NULL') + ')'
from (select username, hashbytes('md5',password) as password from wl) wl

参考:从十六进制字符串转换为 varbinary,反之亦然

于 2013-04-23T09:13:14.787 回答