在更新查询中将datetime转换为varbinary

时间:2018-06-27 16:56:07

标签: sql sql-server

我有一个更新表的存储过程,我需要将变量@Birthdate datetime转换为varbinary

Birthday_encrypt is varbinary

这是我的代码:

CREATE PROCEDURE sp_UpdateUserProfile
    @Birthdate datetime
AS
BEGIN
    OPEN SYMMETRIC KEY SymmetricKey1
        DECRYPTION BY CERTIFICATE Certificate1;

    UPDATE table1 
        SET Birthday_encrypt = EncryptByKey (Key_GUID('SymmetricKey1'), 
            CONVERT(varbinary(max), @Birthdate));

    CLOSE SYMMETRIC KEY SymmetricKey1;
END
GO

当我尝试执行查询时,它返回:

  

不允许从数据类型varchar到varbinary(max)的隐式转换。使用CONVERT函数运行此查询。

1 个答案:

答案 0 :(得分:0)

-注意:这是一个示例,用于解决由于未传递ID而更新所有记录的问题,这不能解决转换问题,但是提供了一种更好的解决方法

@patch('matplotlib.pyplot.subplots')