2013-06-24 3 views
0

SQL Server에서 Access로 작성된 SQL을 실행하려고합니다. 쿼리는 4 행에 구문 오류를 던지고있다 : 그것은 유효한 열 이름 [Speciment Collection Date]처럼 보인다이 t-SQL 구문에 어떤 문제가 있습니까?

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)) 

유효한 expression처럼 보인다.

무엇이 누락 되었습니까?

+1

어떤 SQL Server 버전을 실행하고 있습니까? 'IIF'가 SQL Server 2012에 도입 된 것 같습니다. – Matthew

+1

저는 열 이름에 공백이있을 수 있다고 확신합니다. –

+1

아마도 당신은 ['COALESCE'] (http://msdn.microsoft.com/en-us/library/ms190349.aspx) 또는 ['Nz'] (http://office.microsoft.com)를 찾고 있다고 생각합니다. .com/en-gb/access-help/nz-function-HA001228890.aspx)하지만 질문에 대한 직접적인 대답은 아닙니다. –

답변

0

열 정의에 TABLE을 포함 할 필요가 없습니다. DB는 "Update TABLE"문에서 어떤 테이블인지를 알고 있습니다.

+0

내 편집을 참조하십시오. 나는 테이블의 이름을 게시하지 않고있다. – bernie2436

+0

"set TABLE.ColumnName"에 TABLE을 포함시킬 필요가 없다고 생각한다. 그것을 제거하고 도움이되는지 확인하십시오. –

관련 문제