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

PostgreSQL SELECT クエリで文字列列を連結するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-12 10:28:43513ブラウズ

How to Concatenate String Columns in PostgreSQL SELECT Queries?

PostgreSQL SELECT クエリの文字列列を連結します

PostgreSQL では、SELECT クエリ内で文字列列を直接連結することは簡単ではありません。次の例を考えてみましょう:

<code class="language-sql">select a || b from foo;</code>

ここで、a と b は、character(2) タイプの列です。これにより、期待される a 値と b 値の連結ではなく、NULL が返されます。

文字列列を連結する最も簡単な解決策は、少なくとも 1 つの列をテキストを入力するようにキャストすることです。

<code class="language-sql">SELECT a::text || b AS ab FROM foo;</code>

代わりに、任意の数の引数を受け入れ、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>

concat() は両方とも揮発性関数であるため、インデックス付き列や生成された列での使用には適していません。不変性が必要な場合は、カスタムの不変関数を作成できます。 concat_ws()

演算子は Postgres では有効な文字列連結演算子ではないことに注意してください。これは、Microsoft が自社製品に独自に追加したものです。

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

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