命名参数查询的行为不符合预期:

时间:2013-03-17 17:22:57

标签: sql sql-server ms-access

我正在使用MS Access 2010.我正在尝试创建参数化查询。我让它完全像这样工作:

WHERE PerformedBy.artists LIKE ? + '*';

然后我尝试给这个参数命名如下:

WHERE PerformedBy.artists LIKE %test% + '*';

MSDN建议如何做到这一点。但Access会引发语法错误。

有什么建议吗? 谢谢,

1 个答案:

答案 0 :(得分:2)

请勿使用%个字符包围参数名称。如果要包含名称,请使用方括号。

WHERE PerformedBy.artists LIKE [test] + '*';
WHERE PerformedBy.artists LIKE [test] & '*';

这两个使用了不同的连接运算符。第二个将返回所有提供Null的行作为[test]的值。当[test]为空时,第一个将不返回任何行。