postgresql - 为什么 "||"在 PostgreSQL/Redshift 中用作字符串连接

标签 postgresql operators amazon-redshift

<分区>

我觉得这很奇怪。如果我们看一下主要的编程语言,它们都使用“||”作为逻辑“或”运算符。 “||”是否有任何(也许是历史)原因与 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 开发的。您想到的大多数“主要编程语言”在 SQL 创建时并不存在。大多数现代语言在某种程度上都“类似于 C”,但例如 FORTRAN77 使用 // 作为连接运算符。

关于postgresql - 为什么 "||"在 PostgreSQL/Redshift 中用作字符串连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35797709/

相关文章:

postgresql - 无法使用 Kafka 将数据从 MySQL 流式传输到 Postgres

operators - "==="运算符的作用是什么?

javascript - 正确使用比较运算符

Java int += double 语法惊喜

sql - Amazon Redshift - 横向列别名引用

sql - 在 redshift 中按字段排序

sql - 利用 Rails ahoy 和 groupdate gems 计算每日活跃用户的最有效方法是什么?

r - 将 R 代码推送到 postgresql 数据库中的 PL/R 代码

postgresql - 使用 gnatcoll_db2ada 在与 postgresql 数据库的 Ada 接口(interface)的架构中使用数组类型

r - Redshift 上 Shiny 缓慢