Sql 在'附近插入不正确的语法;MD5和x27;
我正在使用SQL Server 2014。作为一项更大任务的一部分,我需要从表中检测更新等,所以我要实现Hashbytes。Hasbytes字段定义为Sql 在'附近插入不正确的语法;MD5和x27;,sql,sql-server,hashbytes,Sql,Sql Server,Hashbytes,我正在使用SQL Server 2014。作为一项更大任务的一部分,我需要从表中检测更新等,所以我要实现Hashbytes。Hasbytes字段定义为varbinary(MAX) 这是我的SQL: INSERT INTO tbl_People SELECT id, Name, Add1, Add2, Add3, HashValue as Hashbytes('MD5',CONCAT('|',Name, Add1, Add2, Add3)) fr
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
与下一列分隔开。别名也是反向的,应该是作为别名
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上的列别名不能使用。它是
选择ID,…,Hashbytes('MD5',CONCAT('|',Name,Add1,Add2,Add3))作为HashByte
。