首页 >数据库 >mysql教程 >如何在 PostgreSQL SELECT 查询中连接字符串列?

如何在 PostgreSQL SELECT 查询中连接字符串列?

Linda Hamilton
Linda Hamilton原创
2025-01-12 10:28:43565浏览

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)类型的列。这将返回NULL,而不是预期中的a和b值的连接结果。

连接字符串列最简单的解决方案是将至少一列强制转换为text类型:

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

或者,您可以使用concat_ws()函数,它可以接受任意数量的参数并忽略NULL值:

<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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn