CONCATENATE

在(標準 ANSI / ISO)SQL 中,字串連線的運算子是||。除 SQL Server 之外的所有主要資料庫都支援此語法:

SELECT 'Hello' || 'World' || '!'; --returns HelloWorld!

許多資料庫支援 CONCAT 函式來連線字串:

SELECT CONCAT('Hello', 'World'); --returns 'HelloWorld'

有些資料庫支援使用 CONCAT 加入兩個以上的字串(Oracle 沒有):

SELECT CONCAT('Hello', 'World', '!'); --returns 'HelloWorld!'

在某些資料庫中,必須轉換或轉換非字串型別:

SELECT CONCAT('Foo', CAST(42 AS VARCHAR(5)), 'Bar'); --returns 'Foo42Bar'

某些資料庫(例如,Oracle)執行隱式無損轉換。例如,CLOBNCLOB 上的 CONCAT 產生了一個 NCLOB。數字上的 CONCATvarchar2 會導致 varchar2 等:

SELECT CONCAT(CONCAT('Foo', 42), 'Bar') FROM dual; --returns Foo42Bar

有些資料庫可以使用非標準的+運算子(但在大多數情況下,+僅適用於數字):

SELECT 'Foo' + CAST(42 AS VARCHAR(5)) + 'Bar';

在 SQL Server <2012 上,不支援 CONCAT+是連線字串的唯一方法。