我觉得这很奇怪.如果我们看看主要的编程语言,它们都使用"| |"作为逻辑"或"运算符"."| |"和CONCAT()函数一起存在于PostgreSQL中,有什么(可能是历史)原因吗?

推荐答案

-- DB2 / Oracle / Postgres / ANSI Standard
SELECT first_name || ' ' || last_name As full_name FROM customers;
-- Sybase / SQL Server / Microsoft Access
SELECT FirstName + ' ' + LastName As FullName FROM Customers;
-- MySQL
SELECT CONCAT(`FirstName`, ' ', `LastName`) As `FullName` FROM `Customers`;

双管连接是ANSI SQL标准的一部分.SQL最初是在大型机时代由IBM deep开发的.在创建SQL时,您想到的大多数"主要编程语言"都不存在.大多数现代语言在某种程度上都是"类似C"的,但例如FORTRAN77使用//作为连接运算符.

Postgresql相关问答推荐

PostgreSQL中btree_gist索引涉及integer和tstzrange属性查询计划的问题

如何在Windows中安装sql for golang

为什么Postgres在打印时能完全缩短时间跨度?

仅使用 ssl 连接到 Postgresql 数据库

我应该如何更新热门表?

Postgres:一次插入多行时自定义upsert(存储过程?)?

正在加载 pgAdmin 4 v7.4...同时打开 pgAdmin

使用Helm设置PostgreSQL配置

Postgres 视图定义 (pgAdmin) 被删除了 comments ?

Postgres内部如何计算月份间隔

在 postgres 中Decode解码相似的函数

postgresql 在查询中插入空值

无法登录 PostgreSQL 数据库

在 row_to_json 函数中 Select 查询

如何在 plpgsql 中使用记录类型变量?

Rails 验证数组中的值

设置 Phoenix 框架和 Ecto 以使用 UUID:如何插入生成的值?

PostgreSQL:如何在用户级别设置 search_path?

SQL:子查询的列太多

我应该在 Django DATABASE ENGINE 中使用哪个 Postgres 值?