跳至主要內容
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
!= (不等於)
匯出 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_DISPLAY_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>')
擷取指定實例欄位的參考 ID。
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'