問題:
您希望在 PostgreSQL SELECT 語句中連接兩個字串列(a 和 b)。但是,使用 || 或 ||, ' 運算子直接連接會傳回 NULL 值。
解:
PostgreSQL 中字串類型的連線要求至少一個輸入為字串類型。對於非字串資料類型,需要明確轉換為文字類型才能成功連接。
要連接字串類型的列,請使用以下語法:
<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中文網其他相關文章!