我想将密码从 varchar 转换为二进制。
我有像
这样的查询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.
我需要你的帮助。我的查询是正确的。为什么会这样表现出来。
答案 0 :(得分: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