ホームページ >データベース >mysql チュートリアル >NULL 値を処理しながら PostgreSQL SELECT ステートメントで列を連結する方法
質問:
PostgreSQL SELECT ステートメントで 2 つの文字列列 (a と b) を連結したいと考えています。ただし、 || または ||, ' 演算子を使用した直接連結は NULL 値を返します。
解決策:
PostgreSQL の文字列型結合では、少なくとも 1 つの入力が文字列型である必要があります。非文字列データ型の場合、連結を成功させるにはテキスト型への明示的な変換が必要です。
文字列型の列を結合するには、次の構文を使用します:
<code class="language-sql">SELECT a || b AS ab FROM foo;</code>
また、 concat_ws() 関数を使用して、オプションの区切り文字を使用して値を結合することもできます。
<code class="language-sql">SELECT concat_ws(', ', a, b) AS ab FROM foo;</code>
文字列以外のデータ型の場合は、次の例に示すように、連結前にテキスト型に変換します。
<code class="language-sql">SELECT a::text || b AS ab FROM foo;</code>
関数の比較:
concat() と concat_ws() の両方の関数の変動性は STABLE です。これは、入力データに応じて結果が変化する可能性があることを意味します。不変関数の場合は、カスタムの不変クローン作成や全文検索などの手法の使用を検討してください。
追加メモ:
以上がNULL 値を処理しながら PostgreSQL SELECT ステートメントで列を連結する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。