共用方式為


函式多載解析

本主題描述如何解析 Entity SQL 函式。

可以定義一個以上的同名函式,只要這些函式具有唯一的簽章即可。

在這種情況下,必須套用下列準則,以判斷哪一個函式是由給定的運算式參考。這些準則會依序套用。只套用到單一函式的第一個準則就是被解析的函式。

  1. 參數編號。此函式具有運算式中指定的相同參數數目。

  2. 型別完全相符。此函式的每一個引數型別都完全符合參數型別,或是為 null 常值。

  3. 符合子型別。此函式的每一個引數型別都完全符合或是為參數型別的子型別,或者引數為 null 常值。萬一有幾個函式只有所需的子型別轉換數目不同,則具有最少子型別轉換數目的函式就是被解析的函式。

  4. 符合子型別或型別提升。此函式的每一個引數型別都完全符合或是為參數型別的子型別,或者可以提升為參數型別,或是引數為 null 常值。同樣地,萬一有幾個函式只有子型別轉換和提升數目不同,則具有最少子型別轉換和提升數目的函式就是被解析的函式。

如果沒有一個準則導致單一函式被選取,表示函式引動過程運算式模稜兩可。

即使可以使用這些規則擷取單一函式,引數仍然可能不符合參數。在此情況下會引發錯誤。

另請參閱

概念

Entity SQL 參考
Entity SQL 概觀
函式 (Entity SQL)