誰かのコードを拾いました、そしてこれはwhere句の一部です、誰かが二重コロンが何を示しているか知っていますか?
b.date_completed > a.dc::date + INTERVAL '1 DAY 7:20:00'
誰かのコードを拾いました、そしてこれはwhere句の一部です、誰かが二重コロンが何を示しているか知っていますか?
b.date_completed > a.dc::date + INTERVAL '1 DAY 7:20:00'
回答:
RDBMSによって異なりますが、私が正しく推測すると、それはPostgreSQLであり、その場合、日付型は。に::
変換さa.dc
れdate
ます。
他のフレーバーでは...
MS SQL Server 2000の場合:
テーブルを返す組み込みのユーザー定義関数の場合、関数名は、組み込みではないユーザー定義関数と区別するために、先頭に二重コロン(::)を付けて指定する必要があります。また、データベースや所有者の資格のない1つの部分からなる名前として指定する必要があります。次に例を示します。SELECT* FROM :: fn_helpcollations()b ..スカラー値を返す組み込みのユーザー定義関数の場合、関数名は1つの部分からなる名前として指定する必要があります(データベースや所有者は指定しないでください)。先頭の二重コロン(::)は指定しないでください。
MS SQL Server 2005の場合:
テーブルを返すUDFには、ダブルコロンは不要になりました。
しかしながら...
SQL Server 2005では、スキーマ、証明書、エンドポイント、およびその他のいくつかのセキュリティ保護可能なオブジェクトに対するアクセス許可を付与するときに、二重コロンが必要です。
と同様...
ユーザー定義型を使用する場合、その型の静的メソッドは、ダブルコロン構文を使用して呼び出す必要があります。
この場合、それは日付型へのキャストです。::は、CAST(式ASタイプ)としても表現できる型キャストです。
INTERVAL
。また、サポートを備えた他のいくつかのRDBMSを知っています。これは、両方を組み合わせた、私が今まで見た最初のコードです。ちょっと気になっただけ。返信いただきありがとうございます。
それはおそらくキャストであり、a.dc
タイプに変換されますdate
ます。
IBM Informix Dynamic Server(IDS)はそのように機能しますが、最後のINTERVAL表記はIDSには無効であるため、おそらくこれは実際には別のDBMS(おそらくPostgreSQL)です。