为什么“||”在 PostgreSQL/Redshift 中用作字符串连接
Why "||" is used as string concatenation in PostgreSQL/Redshift
我觉得这很奇怪。如果我们看一下主要的编程语言,它们都使用“||”作为逻辑 "or" 运算符。 “||”是否有任何(也许是历史)原因与 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 开发的。您想到的大多数 "major programming languages" 在创建 SQL 时并不存在。大多数现代语言在某种程度上都是 "C like",但是 FORTRAN77,例如,使用 //
作为连接运算符。
我觉得这很奇怪。如果我们看一下主要的编程语言,它们都使用“||”作为逻辑 "or" 运算符。 “||”是否有任何(也许是历史)原因与 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 开发的。您想到的大多数 "major programming languages" 在创建 SQL 时并不存在。大多数现代语言在某种程度上都是 "C like",但是 FORTRAN77,例如,使用 //
作为连接运算符。