Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.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 server 这个t-sql语法有什么问题?_Sql Server_Tsql - Fatal编程技术网

Sql server 这个t-sql语法有什么问题?

Sql server 这个t-sql语法有什么问题?,sql-server,tsql,Sql Server,Tsql,我正在尝试在sql server上运行Access编写的sql。查询在第4行抛出语法错误: UPDATE mytablename SET table.[Specimen Collection Date 1] = IIf( [Specimen Collection Date 2] Is Not Null, //incorrect syntax near is [Specimen Collection Date 2], IIf([Specimen Collection Date 2] Is

我正在尝试在sql server上运行Access编写的sql。查询在第4行抛出语法错误:

UPDATE mytablename SET 
table.[Specimen Collection Date 1] = 
IIf(
[Specimen Collection Date 2] Is Not Null,   //incorrect syntax near is
[Specimen Collection Date 2],
IIf([Specimen Collection Date 2] Is Null,[Specimen Collection Date 3] Is Not Null))
它似乎是一个有效的列名
[Speciment Collection Date]
似乎是一个有效的列名


我遗漏了什么?

您不需要在列定义中包含该表。DB从“Update table”语句中知道它是什么表。

sql中没有IIf。当tsql约定时,查找
案例


您在哪个版本的SQL server上运行它?看起来SQL Server 2012中引入了
IIF
,我很确定列名中可以有空格。我想您可能正在查找,或者,但这并不是对您问题的直接回答。我认为您不需要在“set TABLE.ColumnName”中包含表。试着把它取下来看看是否有帮助。好吧,我的错。2012年我还没起床。