共用方式為


對應資料流中的運算式函數

適用於:Azure Data Factory Azure Synapse Analytics

提示

試用 Microsoft Fabric 中的 Data Factory,這是適用於企業的全方位分析解決方案。 Microsoft Fabric 涵蓋從資料移動到資料科學、即時分析、商業智慧和報告的所有項目。 了解如何免費開始新的試用 (部分機器翻譯)!

Azure Data Factory 和 Azure Synapse Pipelines 中均可使用資料流。 本文適用於對應資料流。 如果您不熟悉轉換作業,請參閱簡介文章使用對應資料流轉換資料

下列文章提供對應資料流中 Azure Data Factory 和 Azure Synapse Analytics 所支援運算式函數的詳細資料。

運算式函數清單

在 Data Factory 和 Synapse 管線中,使用對應資料流功能的運算式語言來設定資料轉換。

運算式函數 Task
abs 數字的絕對值。
acos 計算反餘弦值。
add 新增一對字串或數字。 將日期新增至天數。 將持續時間新增至時間戳記。 對某個陣列附加類似類型的另一個陣列。 相當於 + 運算子。
and 邏輯 AND 運算子。 相當於 &&。
asin 計算反正弦值。
assertErrorMessages 傳回所有判斷提示訊息的對應。
atan 計算反正切值。
atan2 傳回平面的正 X 軸與座標指定點之間的角度 (以弧度為單位)。
between 檢查第一個值是否內含在兩個其他值之間。 可以比較數值、字串和日期時間值
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 比較相同類型的兩個值。 如果 value1 < value2,則會傳回負整數,如果 value1 == value2,則會傳回 0,如果 value1 > value2,則會傳回正值。
concat 將任意數目的字串串連在一起。 相當於 + 運算子加上字串。
concatWS 以分隔符號將任意數目的字串串連在一起。 第一個參數為分隔符號。
cos 計算餘弦值。
cosh 計算某值的雙曲餘弦值。
crc32 以指定的位元長度為不同基本資料類型的一組資料行計算 CRC32 雜湊。 位元長度必須是 0 (256)、224、256、384 或 512 的值。 這可以用來計算資料列的指紋。
degrees 將弧度轉換為度。
divide 將數字配對相除。 相當於 / 運算子。
dropLeft 移除字串左邊任意數目的字元。 如果要求的置放超過字串的長度,則會傳回空字串。
dropRight 移除字串右邊任意數目的字元。 如果要求的置放超過字串的長度,則會傳回空字串。
endsWith 檢查字串是否以提供的字串結尾。
equals 「等於」比較運算子。 相當於 == 運算子。
equalsIgnoreCase 忽略大小寫的「等於」比較運算子。 相當於 <=> 運算子。
escape 根據格式逸出字串。 可接受的格式常值是「json」、「xml」、「ecmascript」、「html」、「java」。
expr 從字串產生運算式。 這相當於以非常值形式撰寫運算式,而且可用來將參數當做字串表示法傳遞。
factorial 計算數字的階乘。
false 一律傳回 false 值。 如果有名為「false」的資料行,則使用函數 syntax(false())
floor 傳回不大於某數字的最大整數。
fromBase64 解碼指定的 base64 編碼字串。
greater 「大於」比較運算子。 相當於 > 運算子。
greaterOrEqual 「大於或等於」比較運算子。 相當於 >= 運算子。
greatest 傳回值清單中的最大值作為輸入 (跳過 Null 值)。 如果所有輸入皆為 Null,則傳回 Null。
hasColumn 依名稱檢查資料流中的資料行值。 您可以傳遞選擇性資料流名稱作為第二個引數。 在設計階段已知的資料行名稱,應該只依據其名稱來處理。 不支援計算的輸入,但您可使用參數替換。
hasError 檢查具有所提供識別碼的判斷提示是否標示為錯誤。
iif 根據條件套用一個值或另一個值。 如果未指定其他值,則會將其視為 NULL。 這兩個值必須相容 (數字、字串...)。
iifNull 假設有兩個或多個輸入,則會傳回第一個非 Null 項目。 此函數相當於 coalesce。
initCap 將每個單字的第一個字母轉換成大寫。 多個單字會以空格分隔。
instr 尋找子字串在字串中的位置 (從 1 開始)。 如果找不到,則傳回 0。
isDelete 檢查資料列是否有刪除標示。 對於取用多個輸入資料流的轉換,您可傳遞資料流 (從 1 開始) 的索引。 資料流索引應為 1 或 2,且預設值為 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 傳回下一個唯一序列。 數字在分割區內才會連續,且具有 partitionId 前置詞。
normalize 將字串值正規化,以區分重音的 unicode 字元。
not 邏輯負運算子。
notEquals 「不等於」比較運算子。 相當於 != 運算子。
null 傳回 NULL 值。 如果有名為「null」的資料行,則使用函數 syntax(null())。 任何使用此函數的作業都將導致 NULL。
or 邏輯 OR 運算子。 相當於 ||。
pMod 數字配對的正模數。
partitionId 傳回輸入資料列所在的目前分割區識別碼。
power 以一數為底數、另一數為乘冪求值。
radians 將度數轉換為弧度
random 傳回資料分割內已知選用種子的亂數。 種子應該是固定值,並搭配使用 partitionId 以產生隨機值
regexExtract 擷取指定規則運算式模式的相符子字串。 最後一個參數會識別比對群組,如果省略則預設為 1。 使用 `<regex>` (反引號) 比對字串 (不逸出)。
regexMatch 檢查字串是否符合指定的規則運算式模式。 使用 `<regex>` (反引號) 比對字串 (不逸出)。
regexReplace 將指定字串中出現的某個規則運算式模式全部取代為另一個 substring。使用 `<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 代碼。
split 根據分隔符號分割字串,並傳回字串陣列。
sqrt 計算數字的平方根。
startsWith 檢查字串是否以提供的字串開頭。
substring 從某個位置擷取特定長度的子字串。 位置從 1 開始。 如果省略長度,則預設為字串的結尾處。
substringIndex 在分隔符號的 count 出現之前擷取子字串。 如果 count 為正數,則會傳回最後一個分隔符號左邊的所有內容 (從左計數)。 如果 count 為負數,則會傳回最後一個分隔符號右邊的所有內容 (從右計數)。
tan 計算正切值。
tanh 計算雙曲正切值。
translate 將字串中的一組字元取代為另一組字元。 字元的取代是 1 對 1。
修剪 修剪開頭和結尾字元的字串。 若未指定第二個參數,則會修剪空白字元。 否則會修剪第二個參數中指定的任何字元。
true 一律傳回 true 值。 如果有名為「true」的資料行,則使用函數 syntax(true())
typeMatch 比對資料行的類型。 只能在模式運算式中使用。number 會比對出短數值、整數、長數值、雙精確度、浮點數或小數,integral 會比對出短數值、整數、長數值,fractional 會比對出雙精準數、浮點數、小數,datetime 會比對出日期或時間戳記類型。
unescape 根據格式取消逸出字串。 可接受的格式常值是「json」、「xml」、「ecmascript」、「html」、「java」。
upper 將字串變成大寫。
uuid 傳回產生的 UUID。
xor 邏輯 XOR 運算子。 相當於 ^ 運算子。