')'附近的语法不正确,可能错误地使用了substring()或charindex()?

时间:2013-10-04 18:03:51

标签: sql-server tsql vba

我正在尝试使用以下字符串定义的查询在ProjectWise的SQL Server数据库实例上运行ADODB查询:

select 
dms_audt.o_acttime as actionTime,
dms_stat.o_statename as state,
dms_doc.o_filename as filename,
dms_doc.o_projectno as project 
from dms_audt 
inner join 
dms_stat 
on dms_audt.o_numparam2=dms_stat.o_stateno 
inner join dms_doc on dms_audt.objguid=dms_doc.o_docguid 
where substring(dms_doc.o_filename,1,4)="abcd") 
and charindex(dms_doc.o_filename,"efgh")=0

VBA给我一个运行时错误:

Incorrect syntax near ')'

这让我觉得我正在错误地使用substring()charindex()。无论是用单引号还是双引号括起 abcd efgh 字符串,我都收到了此错误。知道我在这里做错了吗?

1 个答案:

答案 0 :(得分:5)

你有一个额外的支架。

这个> where substring(dms_doc.o_filename,1,4)="abcd") and charindex(dms_doc.o_filename,"efgh")=0

需要:

where substring(dms_doc.o_filename,1,4)='abcd' and charindex(dms_doc.o_filename,'efgh')=0