在 'MD5' 附近插入哈希字节不正确的语法
Insert hashbytes Incorrect syntax near 'MD5'
我正在使用 SQL Server 2014。作为更大任务的一部分,我需要从 table 检测更新等,因此我正在实施 Hashbytes。 Hasbytes 字段定义为 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
但是,我一直收到错误消息:
Incorrect syntax near 'MD5'.
我哪里错了?
在 HashValue
别名之前缺少一个逗号,以将 Add3
与下一列分开。另外别名是倒过来的,应该是<expression> as AliasName
.
Add3, -- Here comma
Hashbytes('MD5',CONCAT('|',Name, Add1, Add2, Add3)) as HashValue -- Inverted alias
此外,最好列出插入的 table 的列,以免顺序被错误解释:
INSERT INTO tbl_People (
ID,
Name,
Col1,
Col2,
Col3,
HashValue)
SELECT
...
multiple ways 在 SQL 服务器上使用列别名。
我正在使用 SQL Server 2014。作为更大任务的一部分,我需要从 table 检测更新等,因此我正在实施 Hashbytes。 Hasbytes 字段定义为 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
但是,我一直收到错误消息:
Incorrect syntax near 'MD5'.
我哪里错了?
在 HashValue
别名之前缺少一个逗号,以将 Add3
与下一列分开。另外别名是倒过来的,应该是<expression> as AliasName
.
Add3, -- Here comma
Hashbytes('MD5',CONCAT('|',Name, Add1, Add2, Add3)) as HashValue -- Inverted alias
此外,最好列出插入的 table 的列,以免顺序被错误解释:
INSERT INTO tbl_People (
ID,
Name,
Col1,
Col2,
Col3,
HashValue)
SELECT
...
multiple ways 在 SQL 服务器上使用列别名。