无法转换数据类型

时间:2017-01-01 09:31:28

标签: sql hash sql-server-2016

SELECT *
FROM Registration
WHERE UserPass = CONVERT(VARBINARY(50),'5avag3',1);

我试图将该密码作为哈希值存储到我的数据库中。现在,属性UserPass是二进制文件,我收到此错误消息:

  

不允许从数据类型varchar到二进制的隐式转换。使用CONVERT函数运行此查询。

代码:

INSERT INTO [dbo].[Registration] ([LoginName], [UserPass], [FirstName],[LastName], [PIC], [DIC])
VALUES ('LogPaul', '', 'Logan', 'Paul', '', '690404-10-5827')

当我尝试转换数据类型时,它说我无法转换。

请提前感谢我帮助我成为SQL的新手

1 个答案:

答案 0 :(得分:0)

只需在实际的INSERT语句中执行二进制转换:

INSERT INTO [dbo].[Registration] ([LoginName], [UserPass], [FirstName], [LastName],
                                  [PIC], [DIC])
VALUES
    ('LogPaul', CONVERT(VARBINARY(50),'5avag3',1), 'Logan', 'Paul', '',
     '690404-10-5827')