【问题标题】:Why "||" is used as string concatenation in PostgreSQL/Redshift [closed]为什么是“||”在 PostgreSQL/Redshift 中用作字符串连接 [关闭]
【发布时间】:2016-06-18 06:52:04
【问题描述】:

我觉得这很奇怪。如果我们看一下主要的编程语言,它们都使用“||”作为逻辑“或”运算符。 “||”有什么(也许是历史的)原因吗?与 CONCAT() 函数一起生活在 PostgreSQL 中吗?

【问题讨论】:

  • PHP,例如,使用点来连接字符串。世界上到处都是奇怪的运算符。接受并继续前进。
  • 它是 SQL 标准,不仅仅是 PostgreSQL。

标签: postgresql operators amazon-redshift


【解决方案1】:
-- 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 使用 // 作为连接运算符。

【讨论】:

  • 谢谢!这是宝贵的历史课:)
猜你喜欢
  • 2020-12-18
  • 2011-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-15
  • 2010-09-21
  • 2013-08-27
相关资源
最近更新 更多