Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在'附近插入不正确的语法;MD5和x27;_Sql_Sql Server_Hashbytes - Fatal编程技术网

Sql 在'附近插入不正确的语法;MD5和x27;

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

我正在使用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))
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