ホームページ >データベース >mysql チュートリアル >PostgreSQL SELECT ステートメントで列を適切に連結するにはどうすればよいですか?

PostgreSQL SELECT ステートメントで列を適切に連結するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2025-01-12 06:16:47378ブラウズ

How to Properly Concatenate Columns in PostgreSQL SELECT Statements?

PostgreSQL SELECT ステートメントでの列の結合

PostgreSQL SELECT ステートメントで文字列を連結するときに、列が明示的にテキストに変換されていない場合、エラーが発生する可能性があります。

質問:

テーブル foo には 2 つの文字列列 a と b があります。 || b または || '、' || b を使用して結合しようとすると、null または予期しない結果が返されます。

解決策:

Postgres で文字列を適切に連結するには、少なくとも 1 つの入力をテキストに変換する必要があります。これを行うには 2 つの方法があります:

  • 列をテキストに変換します:
<code class="language-sql">SELECT a::text || b AS ab FROM foo;</code>
  • テキスト区切り文字を使用します:
<code class="language-sql">SELECT a || ', ' || b AS ab FROM foo;</code>

注:

  • 非文字列データ型間での連結 (||) 演算子の使用は非推奨になりました。
  • null 値が含まれる可能性があり、結果が null であってはいけない場合は、concat_ws() 関数を使用します。
<code class="language-sql">SELECT concat_ws(', ', a, b) AS ab FROM foo;</code>
  • また、concat() 関数を使用して区切り文字を使用せずに連結することもできます。
<code class="language-sql">SELECT concat(a, b) AS ab FROM foo;</code>

追加メモ:

    • 演算子は、Postgres では有効な文字列連結演算子ではありません。
  • 文字列を格納するためにcharacter(n)データ型を使用することは、一般的に推奨されません。代わりに text または varchar の使用を検討してください。

以上がPostgreSQL SELECT ステートメントで列を適切に連結するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。