【发布时间】:2010-11-25 06:52:02
【问题描述】:
有没有办法在 Oracle、Postgres 和 SQL Server 中使用通用运算符进行连接。
在 Oracle 和 Postgres 中,我们使用 ||,而 SQL Server 使用 +。
我已经通过添加自定义运算符+ 来支持字符串连接解决了 Postgres 中的问题。
有没有办法在 Oracle 中添加相同的运算符以使用 + 运算符支持字符串连接。
【问题讨论】:
-
为什么所有数据库都必须具有相同的语法?如果它们都一样,那就只有一个。应用程序语言都有不同的语法?
-
所有 C 编译器解析相同的语法,为什么 SQL 解析器不应该这样做?
-
SQL Server 和 Sybase 使用 TSQL 语言,Oracle 使用 PL/SQL 语言。 TSQL 不同于 PL/SQL。
-
是的,但是连接是无聊的旧 SQL 的一部分,而不是与之配套的过程语言。它甚至在 ANSI SQL 中定义(如 ||)。 T-SQL 和 PL/SQL(以及其他)将 SQL DML 作为子集,但它们都偏离了 ANSI 标准。
-
@KM:Oracle 仅将 PL/SQL 用于存储过程。其他一切都是“SQL”。与 SQL Server 不同,Oracle 对查询语言 (SQL) 和过程语言 (PL/SQL) 进行了明确区分
标签: sql sql-server oracle postgresql string-concatenation