PB调用SQL SERVER函数的变量使用问题
环境:PB11,SQL SERVER2008
问题:想把明文密码加密后保存,可是 3种方法使用SQL SERVER函数,结果却不一致。
1、PB中:用变量
ls_psw='11111'
select right(sys.fn_VarBinToHexStr(hashbytes('MD5',CONVERT(varchar(64), :ls_psw))),32) from tablename;
2、PB中:变量换成常量
select right(sys.fn_VarBinToHexStr(hashbytes('MD5',CONVERT(varchar(64), ‘11111’))),32) from tablename;
3、直接在SQLSERVER 查询分析器运行
select right(sys.fn_VarBinToHexStr(hashbytes('MD5',CONVERT(varchar(64), ‘11111’))),32) from tablename;
结果:2、3运算结果正确,1的32位数结果与2、3的不一致。
很明显是变量使用的问题,在PB对oracle后台时是可以这样使用的,SQLserver该怎么使用?谢谢!