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

时间:2015-03-04 08:54:46

标签: 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\"; isWindows := OS = 
\"Windows\"; SELECT Form = \"Server\" & isAdminSite & isITCS104 & 
!isArchived & isOnline & isWindows". 

问题在于isWindows过滤器。如果我在文档中有类似Windows 2008或Windows Server R2的内容,则无法获取它。

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

另外,我想比较日期。有关如何做到这一点的任何想法?谢谢。

2 个答案:

答案 0 :(得分:0)

使用 @Contains() 来测试字符串是否属于另一个字符串。

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

Comparing Date/Time Values

  

在公式语言中,可以使用法线比较日期/时间   比较运算符<,=等等。考虑以后的日期/时间   大。

答案 1 :(得分:0)

您可以使用@Matches("Windows*")

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