我在使用参数时使用匹配和/或运算符时执行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语句周围的那些单引号。有没有办法避免它们,但仍能使用和/或操作员或在其他地方出现问题?
答案 0 :(得分:2)
您不能使用SQL参数来替换参数的某些部分,但也许您可以使用字符串连接(我没有对此进行测试):
... MATCH 'ColumnName1:' || @param1 || ' AND ColumnName2:' || @param2;
否则,您必须采用规范方式,在应用程序中构建字符串并将其作为单个参数提供:
... MATCH @param;