[Database]Oracle數據庫中concat和||的區別


 

注:在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長度的字符串. 

 

參考資料


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM