跳至主要内容
Administrator Guide
上次更新时间 :2025-09-19
参考信息:用于数据导出的 WQL 查询用途和指导原则

参考信息:用于数据导出的 WQL 查询用途和指导原则

Workday 查询语言 (WQL)

Workday 查询语言 (WQL) 是一种类 SQL 语言,其中包含一些表达式和运算符,可用于在执行数据导出作业时优化查询性能。Workday 会验证查询语法,确保其适用于数据导出作业。

WQL 表达式

要批量导出数据,您可以在 WQL 语句中使用这些 SQL 表达式,从以表格为支持的 Prism 数据源中指定 1 个或多个字段(列)。
WQL 不支持 SELECT * 。
WQL 子句
选项
目的
使用示例
SELECT
从 Prism 数据源中选择一个或多个字段。
SELECT billingCompany, billingCostCenter, billingDivision
AS
为字段(列)创建名称别名。
SELECT billingCompany AS company, billingCostCenter AS cost_center, billingDivision AS division
指定要从中导出数据的 Prism 数据源。
SELECT billingCompany, billingCostCenter, billingDivision FROM cds_insuranceClaimData
WHERE
指定要从中筛选特定数据的 Prism 数据源。
SELECT billingCompany, billingCostCenter, billingDivision FROM cds_insuranceClaimData WHERE billingCost >= 100
不允许筛选日期字段。

WQL 条件表达式

您可以使用以下类型的运算符在 WQL 表达式中创建条件,用于限制或筛选要从 Prism 数据源中提取的数据:
  • 逻辑:根据包含和排除条件筛选查询结果。
  • 比较:将字段与一个或多个值进行比较,并根据比较条件筛选查询结果。
您可以根据需要创建任意数量的条件,并能按任意组合使用条件语句。
下表描述了逻辑运算符的用途和使用示例:
运算符
目的
使用示例
AND
导出符合所有条件的结果。
SELECT billingCompany, billingCostCenter, billingDivision FROM cds_insuranceClaimData WHERE billingCost >= 100 AND billingCost <= 9999
OR
在满足其中一个条件时导出结果。
SELECT billingCompany, billingCostCenter, billingDivision FROM cds_insuranceClaimData WHERE billingCost >= 100 OR billingCost <= 9999
NOT
导出符合取反条件的结果。
SELECT billingCompany, billingCostCenter, billingDivision FROM cds_insuranceClaimData WHERE NOT (billingCost >= 100 AND billingCost <= 9999)
下表描述了比较运算符的用途和示例:
运算符
目的
使用示例
=(等于)
导出 1 个或多个等于值的指定字段。
SELECT billingCompany FROM cds_insuranceClaimData WHERE billingCost = 100
!= (not equal)
导出不等于值的 1 个或多个指定字段。
SELECT billingCompany FROM cds_insuranceClaimData WHERE billingCost ! = 100
>(大于)
导出 1 个或多个大于该值的指定字段。
SELECT billingCost FROM cds_insuranceClaimData WHERE billingCost > 100
>=(大于或等于)
导出 1 个或多个大于或等于给定值的指定字段。
SELECT billingCompany FROM cds_insuranceClaimData WHERE billingCost >= 100
<(小于)
导出 1 个或多个小于该值的指定字段。
SELECT billingCompany FROM cds_insuranceClaimData WHERE billingCost < 100
<=(小于或等于)
导出 1 个或多个小于或等于给定值的指定字段。
SELECT billingCompany FROM cds_insuranceClaimData WHERE billingCost <= 100
IN
导出 1 个或多个与 1 个或多个逗号分隔值相等的指定字段。
SELECT billingCompany FROM cds_insuranceClaimData WHERE claimStatus IN ('in-progress', 'open')
NOT IN
导出 1 个或多个指定字段,这些字段的值不等于 1 个或多个逗号分隔的值。
SELECT billingCompany FROM cds_insuranceClaimData WHERE claimStatus NOT IN ('in-progress', 'open')
IS NULL
导出 1 个或多个没有值的指定字段。
SELECT billingCompany FROM cds_insuranceClaimData WHERE billingCost IS NULL
IS NOT NULL
导出符合以下条件的 1 个或多个指定字段:
SELECT billingCompany FROM cds_insuranceClaimData WHERE billingCost IS NOT NULL

WQL 函数

WQL 支持 2 种 SQL 函数,可让您从实例字段中检索数据相关信息:
  • GET_DISPLAY_ID
  • GET_REF_ID
如果在查询中使用多个函数,则必须使用 AS 选项为每个函数指定唯一的别名。示例:GET_DIS播放_ID(cost_ Center) AS cost_center。
函数用途
目的
用法示例
GET_DISPLAY_ID(<Instance Field Name>)
检索指定的实例字段的数据显示名称。
SELECT GET_DISPLAY_ID(billingCompany) AS billing_company FROM cds_insuranceClaimData SELECT billingCostCenter FROM cds_insuranceClaimData WHERE GET_DISPLAY_ID(billingCompany) = 'CompanyXYZ'
GET_REF_ID(<Instance Field Name>,'<Reference ID Type>')
检索指定实例字段的参考编号。
SELECT GET_REF_ID(billingCompany, 'Company_Ref_ID') FROM cds_insuranceClaimData SELECT billingCostCenter FROM cds_insuranceClaimData WHERE GET_REF_ID(billingCompany, 'Company_Ref_ID') = 'XYZ_Company'