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

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

Linda Hamilton
发布: 2025-01-12 10:28:43
原创
551 人浏览过

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板