注:在oracle
中,需要上述多次拼接應使用||
,因為concat()
一次只能拼接2個,需要多次嵌套。而在mysql
中,可以實現concat(col1,col2,coln....)
官方文檔鏈接:
CONCAT
Concatenation Operator
兩者等效:
1. concat
2. ||
官方文檔:連字符
連接兩個字符串的結果還是字符串. 如果2個字符串都是CHAR類型, 那么結果是限制長度為2000字符的CHAR類型字符串.
如果任一字符串是VARCHAR2類型, 結果是限制長度為4000字符的VARCHAR2類型字符串.
如果任一字符串是CLOB類型, 結果是暫時的CLOB類型.
結尾空白在連接中會被保留, 數據類型是字符串還是CLOB.
在大多數平台, 連字符是兩個實心豎線, 然而在一些IBM平台, 是兩個斷豎線, 當在使用不同字符集的系統中移動SQL腳本時, 豎線也許不會被轉譯成豎線 , 所以Oracle提供了CONCAT函數來作為替代以應對這種情況.
盡管Oracle將0長度的字符串視為null, 連接0長度的字符串和另一個字符串會得出該字符串, 所以只有兩端都是null字符串時會得到null字符串. 然而后續版本可能不會繼續支持.
如果想要連接一個可能是null的表達式, 使用NVL函數來將表達式轉換為0長度的字符串.