编辑:刚才意识到额外结果的原因是查询中的另一行!不要以为我有足够的代表来关闭这个问题。
我正在编辑一些正在搜索Lotus Notes数据库的现有SQL代码。
我有这一行:
@Contains(Title; "blah blah 1.5")
我想只返回那些包含标题中给定字符串的记录。
目前它返回包含“blah blah 1”的所有记录,例如我得到“blah blah 1.1”,“blah blah 1.2”等。
我的猜测是我需要逃避'。'但我不知道怎么做。
答案 0 :(得分:2)
我认为您只需要测试相等性,而不是使用全文搜索运算符:
WHERE Title = 'blah blah 1.5'
答案 1 :(得分:0)
我不是百分百肯定,但我认为解决方案是引用你想要的短语;类似的东西:
@Contains(Title; "'blah blah' AND '1.5'")
至少,这就是我认为你想要的MS SQL Server(虽然我认为语法是CONTAINS(标题,'“blah blah”和“1.5”))。
答案 2 :(得分:0)
在Notes / Domino公式语言中@Contains只进行简单的子字符串比较。如果第二个参数是(或等于)第一个参数的子字符串,则返回true(1),否则返回false(0)。在这种情况下,简单的相等运算符可能更合适。
Title="blah blah 1.5"
答案 3 :(得分:0)
我假设您的示例实际上是在编辑Lotus Notes搜索公式而不是SQL查询。 CONTAINS函数的SQL格式不使用分号分隔参数,并且函数名中没有@符号。
按照这个假设,您需要将搜索公式更改为Title =“blah blah 1.5”,并且在您的视图或搜索中,您将获得具有该标题的标题的所有文档。