適用於:
Azure Data Factory
Azure Synapse Analytics
秘訣
試用 Microsoft Fabric 中的 Data Factory,這是適用於企業的全方位分析解決方案。 Microsoft Fabric 涵蓋從資料移動到資料科學、即時分析、商業智慧和報告的所有項目。 了解如何免費開始新的試用!
資料流程可在 Azure Data Factory 管線和 Azure Synapse Analytics 管線中使用。 本文適用於對應資料流。 如果您不熟悉資料轉換,請參閱入門文章使用對應資料流程轉換資料。
本文詳細說明 Azure Data Factory 與 Azure Synapse Analytics 在資料流映射中所支援的表達函數。
運算式函數清單
在 Azure Data Factory 與 Azure Synapse Analytics 管線中,使用映射資料流功能的表達式語言來配置資料轉換。
| 運算式函數 | Task |
|---|---|
| abs | 給出一個數字的絕對值。 |
| acos | 計算反餘弦值。 |
| 新增 | 新增一對字串或數字。 將日期新增至天數。 將持續時間新增至時間戳記。 對某個陣列附加類似類型的另一個陣列。 相當於 + 運算子。 |
| and | 使用邏輯 AND 運算子。 與 &&相同。 |
| asin | 計算反正弦值。 |
| assertErrorMessages | 返回所有斷言訊息的映射表。 |
| atan | 計算反正切值。 |
| atan2 | 傳回平面的正 X 軸與座標指定點之間的角度 (以弧度為單位)。 |
| between | 檢查第一個值是否內含在兩個其他值之間。 你可以比較數字、字串和 datetime 數值。 |
| bitwiseAnd | 在整數類型間使用位元 And 運算子。 相當於 & 運算子。 |
| bitwiseOr | 在整數類型間使用位元 Or 運算子。 相當於 | 運算子。 |
| bitwiseXor | 在整數類型間使用位元 Or 運算子。 相當於 | 運算子。 |
| blake2b | 以指定的位元長度為不同基本資料類型的一組資料行計算 Blake2 摘要。 位元長度只能是 8 到 512 之間的 8 倍數。 您可以使用它來計算資料列的指紋。 |
| blake2bBinary | 計算不同基本資料型態的多個欄位的 Blake2 摘要,當指定位元長度時,該位元長度只能是 8 到 512 之間的 8 的倍數。 您可以使用它來計算資料列的指紋。 |
| case | 根據交替條件套用其中一種數值。 若輸入數為偶數,則針對最後一個條件,將另一個預設為 NULL。 |
| cbrt | 計算數字的立方根。 |
| ceil | 傳回不小於某數字的最小整數。 |
| coalesce | 從一組輸入傳回第一個非 null 值。 所有輸入應該是相同的類型。 |
| columnNames | 取得資料流的所有輸出資料行名稱。 您可以傳遞選擇性資料流名稱做為第一個引數和選擇性第二個引數,以只傳回結構描述漂移資料行。 |
| columns | 取得資料流的所有輸出資料行值。 您可以傳遞選擇性資料流名稱作為第二個引數。 |
| compare | 比較相同類型的兩個值。 若值1 < 為值2,則回傳負整數;若值1則為0,==值2;若值1 > 為值2,則回傳正值。 |
| concat | 將任意數目的字串串連在一起。 與用於字串的 + 運算子相同。 |
| concatWS | 以分隔符號將任意數目的字串串連在一起。 第一個參數為分隔符號。 |
| cos | 計算餘弦值。 |
| cosh | 計算某值的雙曲餘弦值。 |
| crc32 | 以指定的位元長度為不同基本資料類型的一組資料行計算 CRC32 雜湊。 位元長度必須為 0 (256)、、 224256384512和 。 您可以使用它來計算資料列的指紋。 |
| degrees | 將弧度轉換為度。 |
| divide | 將一對數字相除。 相當於 / 運算子。 |
| dropLeft | 移除字串左側的指定數量字元。 如果要求的置放超過字串的長度,則會傳回空字串。 |
| dropRight | 從字串右側移除指定的字元數量。 如果要求的置放超過字串的長度,則會傳回空字串。 |
| endsWith | 檢查字串是否以提供的字串結尾。 |
| equals | 使用比較等於運算子。 相當於 == 運算子。 |
| equalsIgnoreCase | 使用比較等於運算子,並忽略大小寫。 相當於 <=> 運算子。 |
| escape | 根據格式逸出字串。 可接受格式的字面值為 json、 xmlecmascripthtmljava和 。 |
| expr | 從字串產生運算式。 等同於用非字面形式寫出表達式。 你可以用它來傳遞參數作為字串表示。 |
| factorial | 計算數字的階乘。 |
| false | 一律傳回 false 值。 如果有一個稱為false的欄位,請使用syntax(false())函數。 |
| floor | 傳回不大於某數字的最大整數。 |
| fromBase64 | 解碼特定的 base64 編碼字串。 |
| greater | 使用比較大於運算子。 相當於 > 運算子。 |
| greaterOrEqual | 使用比較大於或等於運算子。 相當於 >= 運算子。 |
| greatest | 傳回值清單中的最大值作為輸入 (跳過 Null 值)。 如果所有輸入皆為 Null,則傳回 Null。 |
| hasColumn | 依名稱檢查資料流中的資料行值。 您可以傳遞選擇性資料流名稱作為第二個引數。 設計時已知的欄位名稱應僅使用其名稱來稱呼。 不支援計算輸入,但可以使用參數替換。 |
| hasError | 檢查具有所提供識別碼的資產提示是否標記為錯誤。 |
| iif | 根據條件套用其中一種數值。 若另一項未指定,則視為 NULL。 兩個值必須相容(例如數值或字串)。 |
| iifNull | 當輸入有兩個或以上時,回傳第一個非空項目。 此函式相當於 coalesce。 |
| initCap | 將每個單字的第一個字母轉換成大寫。 多個單字會以空格分隔。 |
| instr | 尋找子串在字串中的位置(以 1 為基礎)。 若未找到,則會回傳 0。 |
| isDelete | 檢查資料列是否有刪除標示。 對於需要多個輸入串流的轉換,你可以傳遞該串流的(以 1 為基礎的)索引。 溪流索引應為12或為 ,預設值為 1。 |
| isError | 檢查資料列是否標示為錯誤。 對於需要多個輸入串流的轉換,你可以傳遞該串流的(以 1 為基礎的)索引。 溪流指數應為1或2。 預設值是 1。 |
| isIgnore | 檢查該列是否應該被忽略。 對於需要多個輸入串流的轉換,你可以傳遞該串流的(以 1 為基礎的)索引。 流指標應為1或2之一。 預設值是 1。 |
| isInsert | 檢查資料列是否有插入標示。 對於需要多個輸入串流的轉換,你可以傳遞該串流的(以 1 為基礎的)索引。 流程指標應為1或2。 預設值是 1。 |
| isMatch | 檢查在查閱時是否比對資料列。 對於需要多個輸入串流的轉換,你可以傳遞該串流的(以 1 為基礎的)索引。 流指標應該是1或2。 預設值是 1。 |
| isNull | 檢查值是否為 NULL。 |
| isUpdate | 檢查資料列是否有更新標示。 對於需要多個輸入串流的轉換,你可以傳遞該串流的(以 1 為基礎的)索引。 溪流指數應該是1或2。 預設值是 1。 |
| isUpsert | 檢查資料列是否有插入標示。 對於需要多個輸入串流的轉換,你可以傳遞該串流的(以 1 為基礎的)索引。 溪流指數應為1或2。 預設值為 1。 |
| jaroWinkler | 取得兩個字串之間的 JaroWinkler 距離。 |
| least | 使用比較小於或等於運算子。 相當於 <= 運算子。 |
| left | 從索引 1 處開始擷取含特定字元數的子字串。 與 SUBSTRING(str, 1, n)相同。 |
| length | 傳回字串的長度。 |
| lesser | 使用比較小於運算子。 相當於 < 運算子。 |
| lesserOrEqual | 使用比較小於或等於運算子。 相當於 <= 運算子。 |
| levenshtein | 取得兩個字串之間的 levenshtein 距離。 |
| like | 使用字面比對字串的模式。 例外是與輸入中任一字元匹配的特殊符號 _ (類似於正規表達式中的 posix .*)。 |
| locate | 尋找子字串在字串中從特定位置起算的位置 (從 1 開始)。 若位置被省略,則從字串開頭開始。 若未找到,則會回傳 0。 |
| log | 計算對數值。 你可以提供一個可選的基底,或者(如果使用的話)一個歐拉數。 |
| log10 | 以10為底計算對數值。 |
| lower | 將字串變成小寫。 |
| lpad | 從左側為字串填補提供的填補內容,直到達到特定長度。 若弦長等於或大於長度,則將弦修剪至長度。 |
| ltrim | 從左側修剪開頭字元的字串。 若第二個參數未指定,則會裁剪空白。 否則,它會修剪第二個參數中指定的任何字元。 |
| md5 | 計算一組不同原始資料型態欄位的 MD5 摘要,並回傳一個 32 字元的十六進位字串。 您可以使用它來計算資料列的指紋。 |
| minus | 減去數字。 從日期中扣除天數。 從時間戳記中減去持續時間。 減去兩個時間戳,得到以毫秒為單位的差異。 相當於 - 運算子。 |
| mod | 給出一對數字的模數。 相當於 % 運算子。 |
| multiply | 將一對數字相乘。 相當於 * 運算子。 |
| negate | 將數字轉換為負數。 將正數轉換為負數,或反向轉換。 |
| nextSequence | 傳回下一個唯一序列。 該號碼僅在分割區內連續,且前綴為分割區 ID。 |
| normalize | 將字串值正規化為分離的重音 Unicode 字元。 |
| not | 使用邏輯否定運算子。 |
| notEquals | 使用比較不等於運算子。 相當於 != 運算子。 |
| null | 回傳一個 NULL 值。 如果有一個稱為null的欄位,請使用syntax(null())函數。 使用它的任何操作都會得到的結果是一個 NULL。 |
| or | 使用邏輯 OR 運算子。 與 ||相同。 |
| pMod | 給出一對數字的正模數。 |
| partitionId | 回傳當前輸入列所在的分割區 ID。 |
| power | 以一數為底數、另一數為乘冪求值。 |
| radians | 將度數轉換為弧度。 |
| random | 傳回資料分割內已知選用種子的亂數。 種子應該是固定值,並與分割區 ID 一起使用以產生隨機值。 |
| regexExtract | 為特定正則表達式模式擷取匹配的子字串。 最後一個參數用來識別配對群組,若省略則預設為 1。 使用 `<regex>` 比對字串 (不逸出)。 |
| regexMatch | 檢查字串是否符合特定的正則表達式模式。 使用 `<regex>` 比對字串 (不逸出)。 |
| regexReplace | 將特定字串中所有符合正則表達式模式的出現替換為另一個子字串。 使用 `<regex>` 比對字串 (不逸出)。 |
| regexSplit | 根據分隔符號和規則運算式分割字串,並傳回字串陣列。 |
| replace | 在特定字串中,用另一個子字串替換所有出現的某個子字串。 如果最後一個參數被省略,則預設為空字串。 |
| reverse | 反轉字串。 |
| right | 從右側抽取指定字元數的子串。 與 SUBSTRING(str, LENGTH(str) - n, n)相同。 |
| rlike | 檢查字串是否符合特定的正則表達式模式。 |
| round | 指定選擇性小數位數和選擇性的捨入模式時,將數字捨入進位。 如果省略了刻度,則預設為 0。 若省略該模式,則預設為 ROUND_HALF_UP(5)。 |
| rpad | 從右側為字串填補提供的填補內容,直到達到特定長度。 若弦長等於或大於長度,則將弦修剪至長度。 |
| rtrim | 從右側修剪後置字元的字串。 若第二個參數未指定,則會裁剪空白。 否則,它會修剪第二個參數中指定的任何字元。 |
| sha1 | 計算一組不同原始資料型態欄位的 SHA-1 摘要,並回傳一個 40 字元的十六進位字串。 您可以使用它來計算資料列的指紋。 |
| sha2 | 計算一組不同原始資料型態欄位的 SHA-2 摘要,當給定位元長度時,該位元長度只能為 0(256)、224、256、384 和 512。 您可以使用它來計算資料列的指紋。 |
| sin | 計算正弦值。 |
| sinh | 計算雙曲正弦值。 |
| soundex | 取得字串的 soundex 代碼。 |
| 分割 | 根據分隔符號分割字串,並傳回字串陣列。 |
| sqrt | 計算數字的平方根。 |
| startsWith | 檢查字串是否以提供的字串開頭。 |
| substring | 從某個位置擷取特定長度的子字串。 位置從 1 開始。 若省略長度,則預設為字串末尾。 |
| substringIndex | 在分隔符號的 count 出現之前擷取子字串。 如果 count 為正數,則會傳回最後一個分隔符號左邊的所有內容 (從左計數)。 如果 count 為負數,則會傳回最後一個分隔符號右邊的所有內容 (從右計數)。 |
| tan | 計算正切值。 |
| tanh | 計算雙曲正切值。 |
| translate | 將一組字元替換成字串中的另一組字元。 字符有一對一的替換。 |
| 修剪 | 修剪開頭和結尾字元的字串。 若第二個參數未指定,則會裁剪空白。 否則,它會修剪第二個參數中指定的任何字元。 |
| true | 一律傳回 true 值。 若某欄位命名為true,則使用函數syntax(true())。 |
| typeMatch | 比對資料行的類型。 僅用於模式表達。 Number 會比對短整數、整數、長整數、雙精度、浮點數或小數點。 Integral 匹配短整數、整數和長整數。 Fractional 會比對雙精度、浮點數和小數點。 Datetime 會比對日期或時間戳記類型。 |
| unescape | 根據格式取消逸出字串。 可接受格式的字面值為 json、 xmlecmascripthtmljava和 。 |
| upper | 將字串變成大寫。 |
| uuid | 傳回產生的 UUID。 |
| xor | 給出邏輯 XOR 運算子。 相當於 ^ 運算子。 |