我有一个表格,其中包含二进制(24)类型的填充列。我想将此字段长度增加到二进制(32)。这部分很容易。我遇到的问题是当我尝试根据该字段的先前值查询表时。 (我们使用的是hashbytes函数)。
因此,在场长增加之前,我可以使用:
SELECT * FROM Table WHERE Field = HASHBYTES('md5', 'value')
字段长度增加后,此查询不返回任何内容。如何更改查询以返回适当的值?我可以在二进制文件的末尾添加什么才能识别它?
谢谢!
编辑:我显然做错了ELSE,因为这样做很好。
CREATE TABLE #test (test binary(24) null)
insert into #test (test) values (hashbytes('md5', 'test'))
select * from #test
ALTER TABLE #test ALTER COLUMN test binary(32) null
select * from #test where test = hashbytes('md5', 'test')
drop table #test