WHERE ON
指定要从 SELECT 子句中的相关业务对象 (RBO) 中筛选的字段。在条件表达式中,Workday 首先评估带括号的表达式。使用
AND
与 OR
使用逻辑运算符分隔 Workday 查询语言 (WQL) 中的条件表达式。语法
WHERE ON relatedBusinessObject1 relatedBusinessObjectField1 = value1 AND relatedBusinessObjectField2 IN (instance1, instance2) OR relatedBusinessObjectField3 IN (inst_refId = referenceID) WHERE ON relatedBusinessObject2 relatedBusinessObjectField1 = value1
RBO 字段可省略大括号 { } 符号。
参数
参数 | 描述 |
|---|---|
relatedBusinessObject1
| 您要为其筛选结果的字段的 RBO。 |
relatedBusinessObjectfield1 , relatedBusinessObjectfield2 , ...relatedBusinessObjectfieldN
| 您要为其筛选结果的相关业务对象的字段。 |
value1 , value2 , ...valueN
| 要匹配的字段的值。 |
instance1 , instance2 , ...instanceN
| 您要匹配的字段值的 Workday 编号。 Workday 无法通过无效编号格式进行查询。 |
inst_refId
| 条件表达式中字段的参考编号类型。 |
referenceID
| 要匹配的字段值的参考编号。 您可以按参考编号(带或不带双引号)进行筛选。 示例:
|
比较运算符
运算符 | 字段数据类型兼容性 | 描述 |
|---|---|---|
= | 布尔值 日期 数值 文本 | 等于 |
> | 日期 数值 | 大于 |
>= | 日期 数值 | 大于或等于。 |
< | 日期 数值 | 小于 |
<= | 日期 数值 | 小于或等于。 |
!= | 布尔值 日期 数值 文本 | 不相等。 |
contains | 文本 | 比较值是字段值的子集。 不区分大小写。 示例:
“Cat”包含“AT”。 |
not contains | 文本 | 比较值不是字段值的子集。 不区分大小写。 示例:
“Cat”不包含“dog”。 |
endswith | 文本 | 比较值是字段值的子集。字段值的最后一个字符与比较值的最后一个字符匹配。 不区分大小写。 示例:
“Cat”以“AT”结尾。 |
in | 实例 文本 | 该字段与某个条件的 1 个或多个可能值匹配。 |
is empty | 布尔值 日期 实例 数值 文本 | 该字段没有值。 |
is not empty | 布尔值 日期 实例 数值 文本 | 该字段具有一个值。 |
not in | 实例 文本 | 该字段不匹配任何可能的条件值。 |
startswith | 文本 | 比较值是字段值的子集。字段值的第一个字符与比较值的第一个字符匹配。 不区分大小写。 示例:
“Cat”以“CA”开头。 |
日期和时间格式
WQL 支持采用协调世界时 (UTC) 或太平洋标准时间 (PST) 的日期和日期时间。
日期和时间 | 格式 |
|---|---|
日期 | YYYY-MM-DD |
时间(24 小时制) | 时:分:秒 |
具有时区的日期时间 | PST:年-月-日 - 时:分:秒
世界标准时间:YYYY-MM-DD HH:MM:SSZ |
示例
从
allWorkers
数据源返回结果, 地点
RBO 按符合以下条件的员工:
- 已超过 50 岁
- 工作超过 23 小时
SELECT worker, location{addresses}, age FROM allWorkers WHERE ON location addresses is NOT EMPTY WHERE defaultWeeklyHours > 23 AND age > 50
从
allWorkers
数据源和 地点
返回结果,以及符合以下条件的员工的 后序
RBO:
- 薪资是由 Workday 编号指定的币种。
- 被抚养人的姓氏以字母 N 开头。
- 年龄已超过 50 岁。
- 地点不在 2 个特定城市。
SELECT worker, location{addresses}, dependents{legalName_LastName}, age FROM allWorkers WHERE ON location addresses is NOT EMPTY AND currency in (9e996ffdd3e14da0ba7275d5400bafd4) WHERE ON dependents legalName_LastName startswith "N" WHERE age > 50 OR location in (043e71ed793b1054de6213435945000c, d13a7c46a06443c4a33c09afbdf72c73)
限制
WHERE ON 子句必须位于 WHERE 子句之前。