"||"有什么区别 Oracle中的运算符和concat函数?

Jav*_* SE 10 sql database oracle

是否有可能解释Oracle中concat()函数和||运算符之间的区别?

哪一个在性能方面更好?

Jus*_*ave 18

没有功能差异.

||是ANSI标准字符串连接运算符(但不幸的是,并非每个数据库都<cough>SQL Server</cough>选择支持该标准).许多数据库支持CONCAT函数,因此将代码移植CONCAT到不同的数据库可能更容易.

  • @ConradFrix - 是的,我当然不是要暗示任何数据库都实现了整个SQL标准函数集(有人必须解释为什么实现`POSITION`和`SUBSTRING`并不容易记录例如,它们不存在,如果这是问题,我很高兴地呼唤Oracle).在这种特殊情况下,令人讨厌的是SQL Server不符合标准,因为几乎所有其他数据库都会这样做,而SQL Server是唯一的保留意味着您无法跨数据库一致地连接字符串. (3认同)