2012-07-09 20 views

回答

14

沒有功能差異。

||是ANSI標準字符串連接運算符(但不幸的是,不是每個數據庫<cough>SQL Server</cough>都選擇支持該標準)。許多數據庫都支持CONCAT函數,因此使用CONCAT將代碼移植到不同的數據庫可能更容易。

+0

我只知道兩個不符合SQL標準的DBMS:SQL Server和MySQL。 MySQL至少可以配置爲接受'||'作爲連接運算符。 – 2012-07-09 22:27:39

+3

+1爲標籤單獨使用:-) – DCookie 2012-07-09 22:38:52

+0

呵呵,在SQL服務器上有一個等價的運算符'+',就像[oracle對ANSI標準函數的部分支持](http://docs.oracle.com/cd/ B19306_01/server.102/b14200/ap_standard_sql003.htm#sthref10080)CHARACTER_LENGTH,OCTET_LENGTH,SUBSTRING或POSITION函數。 – 2012-07-09 22:57:59

1

'concat'函數只能操作2個變量或列,而'concat'操作可以對任意數量的變量或列進行操作。

+2

在Oracle上,[這是事實](http://docs.oracle.com/cd/B19306_01/server.102/b14200/functions026.htm)。 – NReilingh 2014-02-10 21:41:56

+2

CONCAT將在MySql中根據需要接收儘可能多的輸入。 – 2014-05-17 04:38:16