在 PostgreSQL SELECT 語句中組合字串列
PostgreSQL 提供了多種在 SELECT
查詢中連接字串列的方法。 如果列資料類型不一致,使用 ||
運算子直接串聯可能會帶來挑戰。
明確型別轉換
為了確保無縫串聯,請將列明確轉換為 text
資料類型:
<code class="language-sql">SELECT a::text || b FROM foo;</code>
這保證了 a
和 b
在連接之前都被視為文字。
利用字串文字
在串聯表達式中包含字串文字是另一種有效的方法。 文字被隱式視為 text
:
<code class="language-sql">SELECT a || ',' || b FROM foo;</code>
此範例在連接的值之間插入逗號作為分隔符號。
利用串聯函數
為了跨各種資料型別進行更強大的串聯,請考慮以下函數:
concat_ws()
: 此函數在非 NULL 值之間插入分隔符號。 concat()
: 此函數連接不帶任何分隔符號的值。 concat_ws()
和concat()
都具有IMMUTABLE
波動性,使它們適合在索引或分區方案中使用。
重要注意事項
運算子進行字串連接;它不是用於此目的的標準 SQL。 text
或 varchar
資料型別而不是 character()
。 透過採用這些技術,您可以可靠地連接 PostgreSQL SELECT
查詢中的列,從而獲得精確且一致的結果。
以上是如何在 PostgreSQL SELECT 查詢中有效連接列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!