1. ホーム
  2. postgresql

[解決済み] PostgreSQLで::は何をするのですか?重複

2023-03-23 12:34:49

質問

私が見たのは :: は、私がネット上で見たpostgresのコードに関わる様々な場所で見かけました。例えば

SELECT '{apple,cherry apple, avocado}'::text[];

ある種のキャストのようです。具体的にはどのような :: とは一体何なのでしょうか。また、どのような場合に使用すべきなのでしょうか。

私は少しググってみて、Postgresのドキュメントを検索してみました。 :: を検索してみましたが、良い結果は得られませんでした。

Googleで以下の検索をしてみました。

  • postgres ダブルコロン
  • ポストグレス ::
  • ::

postgres docsの検索ボタンで以下の検索を試してみました。

  • ダブルコロン
  • ダブルコロンキャスト
  • ::

これはSOで質問するのがほとんど恥ずかしかったのですが、Googleが将来的に他の人のためにこの回答を見ることを期待すると考えました。

どのように解決するのですか?

型キャストは、あるデータ型から別のデータ型への変換を指定します。

PostgreSQLは型キャストに2つの等価な構文、PostgreSQL固有の value::type とSQL標準の CAST(value AS type) .

この具体的な事例では '{apple,cherry apple, avocado}'::text[]; は文字列リテラル {apple,cherry apple, avocado} として解釈するようPostgreSQLに指示します。 の配列として解釈するように指示します。 text .

のドキュメントを参照してください。 SQL式 配列 を参照してください。