java中使用公式语言的IBM Notes查询

java中使用公式语言的IBM Notes查询,java,lotus-notes,lotus-formula,Java,Lotus Notes,Lotus Formula,我正在使用NCSO.jar API查询NSF的信息。我将以下查询传递给database.search方法: "isAdminSite := AdminSite = \"DSTMOP\":\"DSTFrance\";isITCS104 := ServerStateSecurity = \"G3\":\"G4\";isArchived := Archive = \"Internal \":\"External\";isOnline := ServerStateNetwork = \"ON\";

我正在使用NCSO.jar API查询NSF的信息。我将以下查询传递给database.search方法:

 "isAdminSite := AdminSite = \"DSTMOP\":\"DSTFrance\";isITCS104 := 
ServerStateSecurity = \"G3\":\"G4\";isArchived := Archive = \"Internal
\":\"External\";isOnline := ServerStateNetwork = \"ON\"; isWindows := OS = 
\"Windows\"; SELECT Form = \"Server\" & isAdminSite & isITCS104 & 
!isArchived & isOnline & isWindows". 
问题在于isWindows筛选器。如果文档中有Windows 2008或Windows Server R2之类的内容,它将无法获取它

我在这里可以使用SQL中的like运算符或Java中的contains运算符吗?关于如何修改此查询,有什么想法吗

另外,我想比较一下日期。有什么办法吗?谢谢。

用于测试一个字符串是否是另一个字符串的一部分

... isWindows := @Contains(OS; \"Windows\"); ...
:

在公式语言中,可以使用标准 比较运算符您可以使用@MatchesWindows*


有关@Matches可以使用的模式的详细信息,请参阅。

谢谢,这很有效。对于日期/时间问题,我需要获取过去7天内创建的所有文档。我用@Created>@Adjust@Now;0;0;-7.0;0;不客气。您的公式将为您提供七天前当前分钟的文档。如果您想获得整整一天的文档,请使用@Date@Created > @Adjust@Today;0;0;-7.0;0;而不是0。