Domino查询语言语法解析(一)

大家好,才是真的好。昨天已经开学了,听说很多学生哭声一片,普遍的心情是这样的:
Domino查询语言语法解析(一)_第1张图片
言归正传,既然开学,我们还得好好学习呐。前面很多章节,我们提到过Domino查询语言Domino Query Language,以下简称DQL,今天我们就来具体讲述DQL的语法和使用。

一、语法结构

其实也很简单,语法结构主要是:

Term Boolean Term [Boolean Term …]

Term即术语,Boolean即逻辑符。初看起来就是“术语加逻辑符”,用空格间隔。可是Term有哪些,逻辑符又有哪些呢?

二、Tearm术语

Term由三个部分构成:标识符、操作符、值。其语法为:

[Identifier] Operator [Value]

继续深入下去,标识符又分为三种类型:汇总字段(字段名)、视图或文件夹.列名、@函数。其中视图或文件夹.列名中的列名必须是主要的可排序的列名称;函数则主要有@all、@ModifiedInThisFile 、@DocumentUniqueID和@Created等。

操作符有= 、> 、>= 、 < 、 <= 和in [all]等。

也有三种,对应三种字段数值类型:文本、时间日期和数字。

三、逻辑符

逻辑符由”and”、”or”、”and not”、”or not”等四个组成。熟悉一点其他脚本或编程语言的朋友,应该对这四个单词非常熟悉,所以不过多地进行解释了。

四、几个简单的例子

虽然DQL并不复杂,但听起来很有点枯燥,幸亏我们可以举些例子,以加深大家的理解。

A、如要查询订单号在146751和150111(包括150111)之间的所有文档,则查询语句应该这么写:

order_no > 146751 and order_no <= 150111

是不是很简单,像以前的公式?现在我们稍微看一个复杂一点的,还记得操作符号in [all]吗?

B、下列代码的意思是找出username字段中包含’Chad Keighley’, ‘Jeff Chantel’, ‘Louis Cawlfield’, ‘Mariel Nathanson’任意一个名字的所有文档。

username in (‘Chad Keighley’, ‘Jeff Chantel’, ‘Louis Cawlfield’, ‘Mariel Nathanson’)

C、下面用一个为日期的查找文档方法,比如找到字段date_origin日期值在2018年10月10号以后的所有文档

date_origin > @dt(‘20181010T100000+0500’)

时间日期值是GMT或ZULU时间格式中指定的ISO8601兼容值,一般会用公式@dt(‘datetime value’)进行获取或处理。

D、如果查找Orders视图中的order_type为Phone的所有文档,其语句为

‘Orders’.order_type = ‘Phone’

E、在‘Orders’, ’Special orders folder 1’, ‘Old_orders 2’视图或文件夹中找所有的文档

in (‘Orders’, ’Special orders folder 1’, ‘Old_orders 2’)

五、结语
Domino查询语言语法解析(一)_第2张图片
学习到具体的实例是不是觉得DQL特别简单,现在你已经基本上入门了DQL,当然肯定需要多加运用才能掌握熟练。后面我们也会进一步讲解DQL语言的语法和应用。

更多精彩内容可关注微信公众号:“协作者”
Domino查询语言语法解析(一)_第3张图片

你可能感兴趣的:(Domino查询语言语法解析(一))