RDBMSによって異なりますが、私が正しく推測すると、それはPostgreSQLであり、その場合は::
a.dc
を変換します date
の日付型に 。
他のフレーバーでは...
MS SQL Server 2000の場合:
テーブルを返す組み込みのユーザー定義関数の場合、関数名は、組み込みではないユーザー定義関数と区別するために、先頭に二重コロン(::)を付けて指定する必要があります。また、データベースまたは所有者の資格を持たない1つの部分の名前として指定する必要があります。例:SELECT * FROM ::fn_helpcollations()b .. ascalar値を返す組み込みのユーザー定義関数の場合、関数名は1つの部分からなる名前として指定する必要があります(データベースまたは所有者は指定しないでください)。先頭の二重コロン(::)を指定しないでください。
MS SQL Server 2005の場合:
テーブルを返すUDFには、ダブルコロンは不要になりました。
ただし...
SQLServer 2005では、スキーマ、証明書、エンドポイント、およびその他のいくつかのセキュリティ保護可能なオブジェクトにアクセス許可を付与するときに、ダブルコロンが必要です。
同様に...
ユーザー定義型を使用する場合、その型のstaticmethodsは、二重コロン構文を使用して呼び出す必要があります。
出典:BOLとKalenDelaneyのブログ