関数名をオーバーロードする場合に、それらの関数に渡すパラメータの数が同じなら、パラメータのデータ型が互いに異なるものになるように、それらの関数を定義する必要があります。データ型がどんな場合に互いに異なると言えるかについては、次のテーブルを参照してください。
データ型 | ルール |
---|---|
数値 | 次の数値データ型は互いに区別され、さらにこれら以外のデータ型とも区別されます。
サイズが異なるDECIMAL型、NUMERIC型またはNUMBER型は区別されません。例えば、DECIMAL(6,2)とDECIMAL(8,3)は区別されません。 |
日付/時刻 | 次の日付/時刻データ型は互いに区別され、さらにこれら以外のデータ型とも区別されます。
有効桁数または秒の小数点以下桁数の異なるTIME、TIMESTAMP、およびINTERVALの各データ型は区別されません。例えば、TIME(2)とTIME(6)は区別されません。 |
文字 | 次の文字型は互いに区別され、さらにこれら以外のデータ型とも区別されます。
長さの異なる文字列は区別されません。例えば、CHAR(10)とCHAR(5)は区別されません。 CHARACTER SET句に指定するサーバー文字セットが異なる文字列は、区別されません。 |
バイト | 次のバイト データ型は互いに区別され、さらにこれら以外のデータ型とも区別されます。
|
グラフィック | 次のグラフィック データ型は互いに区別され、さらにこれら以外のデータ型とも区別されます。
|
UDT | UDTは、他のデータ型(他のUDTも含む)とは異なる別の型です。 |
PERIOD | 次のPERIODデータ型は互いに区別され、さらにこれら以外のデータ型とも区別されます。
秒の小数点以下桁数の異なるPERIOD(TIME(n))、PERIOD(TIME(n) WITH TIME ZONE)、PERIOD(TIMESTAMP(n))、およびPERIOD(TIMESTAMP(n) WITH TIME ZONE)のデータ型は、区別されません。例えば、PERIOD(TIME(2))とPERIOD(TIME(6))は区別されません。 |
スラッシュ( / )で区切られているデータ型は互いに同義語であり、区別されません(DECIMAL/NUMERICなど)。