本主題描述如何解析 Entity SQL 函式。
只要函式具有唯一的簽章,就可以使用相同的名稱來定義多個函式。
在此情況下,必須套用下列準則,以判斷指定表達式所參考的函式。 這些準則會依序套用。 僅適用於單一函式的第一個準則是已解析的函式。
參數編號。 函式在表達式中指定的參數數目相同。
類型完全相符。 函式的每個自變數類型完全符合參數類型,或為 null 常值。
在子類型上比對。 函式的每個自變數類型完全符合或為參數類型的子類型,或自變數為 Null 常值。 如果數個函式只與所需的子類型轉換數目不同,具有最小子類型轉換數目的函式就是已解析的函式。
比對子類型或類型升級。 函式的每個自變數類型完全相符、是 的子類型,或可以升階為參數類型,或自變數為 Null 常值。 同樣地,如果數個函式在子類型轉換和升階的數目中不同,具有最小子類型轉換和升級數目的函式就是解析的函式。
如果沒有這些準則導致選取單一函式,則函式調用表達式模棱兩可。
即使可以使用這些規則擷取單一函式,自變數仍可能不符合參數。 在此情況下,會引發錯誤。
對於使用者定義函式,即使模型定義函式具有與使用者定義函數較佳相符的簽章,內嵌查詢函式的定義仍優先。