1

我在使用参数时使用匹配和/或运算符时执行 select 语句时遇到问题。

该声明如下所示:

SELECT ColumnName1, ColumnName2 
FROM TableName 
WHERE TableName MATCH 'ColumnName1:@param1 AND ColumnName2:@param2';

但是当我用实际值更改@param1 和@param2 时,例如像这样

SELECT ColumnName1, ColumnName2 
FROM TableName 
WHERE TableName MATCH 'ColumnName1:Value AND ColumnName2:Value';

它工作正常。

我想问题是我的 AND 语句周围的那些单引号。有什么办法可以避免它们,但仍然可以使用和/或操作符,或者在其他地方有问题?

4

1 回答 1

2

您不能使用 SQL 参数来替换参数的一部分,但也许您可以使用字符串连接(我没有对此进行测试):

... MATCH 'ColumnName1:' || @param1 || ' AND ColumnName2:' || @param2;

否则,您必须采用规范方式,在应用程序中构建字符串并将其作为单个参数提供:

... MATCH @param;
于 2016-06-08T15:01:45.573 回答