在"MD5"附近插入哈希字节语法不正确



我正在使用SQL Server 2014。 作为更大任务的一部分,我需要从表中检测更新等,因此正在实现哈希字节。"哈字节"字段定义为varbinary(MAX)

这是我的 SQL:

INSERT INTO tbl_People
SELECT
id,
Name,
Add1,
Add2,
Add3,
HashValue as Hashbytes('MD5',CONCAT('|',Name, Add1, Add2, Add3))
from tbl_PeopleSource

但是,我只是不断收到错误:

"MD5"附近的语法不正确。

我哪里出错了?

HashValue别名之前缺少逗号,以将Add3与下一列分开。别名也是反转的,应该<expression> as AliasName.

Add3, -- Here comma
Hashbytes('MD5',CONCAT('|',Name, Add1, Add2, Add3)) as HashValue -- Inverted alias

此外,最好列出插入表的列,以免错误地解释顺序:

INSERT INTO tbl_People (
ID,
Name,
Col1,
Col2,
Col3,
HashValue)
SELECT
...

有多种方法可以在 SQL Server 上使用列别名。

相关内容

  • 没有找到相关文章

最新更新