max 函數 (XQuery)
從不可部份完成值的序列 $arg 中,傳回其值大於所有其他項目之值的項目。
語法
fn:max($arg as xdt:anyAtomicType*) as xdt:anyAtomicType?
引數
- $arg
不可部份完成值的序列,要從中傳回最大值。
備註
傳遞到 max() 的所有不可部份完成值類型,必須是相同基底類型的子類型。 可以接受的基底類型,是支援 gt 作業的類型。 這些類型包含三個內建數值基底類型以及日期/時間基底類型,它們是 xs:string、xs:boolean 以及 xdt:untypedAtomic。 xdt:untypedAtomic 類型的值會轉換為 xs:double。 如果混合了這些類型,或傳遞了其他類型的其他值,則會引發靜態錯誤。
max() 的結果會收到傳入類型的基底類型,例如 xdt:untypedAtomic 的狀況會收到 xs:double。 若輸入在靜態上是空的,則隱含著空值且會引發靜態錯誤。
max() 函數傳回序列中的一個值,它大於輸入序列中任何其他值。 若為 xs:string 值,則使用預設 Unicode 字碼指標定序。 如果 xdt:untypedAtomic 值無法轉換為 xs:double,在輸入序列 $arg 中就會忽略該值。 如果輸入是動態計算的空白序列,則會傳回空白序列。
範例
本主題針對 XML 執行個體提供 XQuery 範例,這些執行個體是儲存在 AdventureWorks2012 資料庫的各種 xml 類型資料行中。
A.使用 max() XQuery 函數來尋找製造過程中佔去大部分工時的工作中心位置
您可以重新撰寫<min 函數 (XQuery)>中所提供的查詢,來使用 max() 函數。
實作限制
以下這些是限制:
max() 函數會將所有整數對應到 xs:decimal。
不支援值為 xs:duration 類型的 max() 函數。
不支援跨越基底類型界限的混合類型。
不支援提供定序的語法選項。