【发布时间】:2019-02-15 05:42:55
【问题描述】:
请通过此代码:
DECLARE @EncryptedPassword VARBINARY(8000) = ENCRYPTBYPASSPHRASE('ABCD','password')
DECLARE @Setting AS TABLE (ID INT, Value VARCHAR(MAX))
INSERT INTO @Setting VALUES (1, 'true')
INSERT INTO @Setting VALUES (2, @EncryptedPassword)
SELECT * FROM @Setting
@Setting 表可以包含多种数据类型的数据。正如我所看到的,它存储了价值。但无法使用SELECT 命令检索它。我怎样才能做到这一点?
【问题讨论】:
-
CONVERT(VARCHAR(MAX), @EncryptedPassword, 2)会给你一个十六进制字符串,可以用同样的方式转换回来。 -
请重新考虑这个设计。使所有内容字符串 输入会使事情“更简单”,直到您检索到一个应该 是
int(或者这里是varbinary)的设置并且您找到一些那里完全不合适的字符串。考虑将您的个人设置改为列。
标签: sql-server varbinary