Oracle與MySQL字串拼接
一、MySQL
在Java中我們通常用加號"+"來實現字串的拼接,MySQL中也可以使用"+"來實現,比如:
先加入測試資料
CREATE TABLE test(
id INT,
name VARCHAR(10),
score FLOAT
);
INSERT INTO test VALUES(1,'zhang',98);
INSERT INTO test VALUES(2,'li',95);
Demo1
SELECT NAME+'hello' FROM test;
執行結果:
MySQL會將加號兩端的欄位值嘗試轉換為數字類型,如果轉換失敗則認為欄位值為0
Demo2
SELECT score,score+5 FROM test;
執行結果:
從以上可以看出"+"其實就是一個操作符,在MySQL中進行字串的拼接要使用CONCAT函數,
CONCAT函數支援一個或者多個參數,參數類型可以為字串類型也可以是非字串類型,對於非字串類型的參數MySQL將嘗試
將其轉化為字串類型,CONCAT函數會將所有參數按照參數的順序拼接成一個字串做為傳回值。
Demo3
SELECT CONCAT(NAME,'-hello',' good') FROM test;
執行結果:
MySQL中還提供了另外一個進行字串拼接的函數CONCAT_WS,
CONCAT_WS可以在待拼接的字串之間加入指定的分隔字元,第一個參數為要設定的分隔字元,
而剩下的參數則為待拼接的字串值
Demo4
SELECT CONCAT_WS('-',NAME,'考了',score) FROM test;
執行結果:
二、Oracle
Oracle中使用"||"進行字串拼接
Demo5
select name||'hello' from test;
執行結果:
除了"||",Oracle還支援使用CONCAT()函數進行字串拼接
Demo6
執行結果:
如果CONCAT中串連的值不是字串,Oracle會嘗試將其轉換為字串,與MySQL的CONCAT()函數不同,Oracle的CONCAT()函數只支援兩個參數,不支援兩個以上字串的拼接。
在CentOS 6.4下安裝Oracle 11gR2(x64)
Oracle 11gR2 在VMWare虛擬機器中安裝步驟
Debian 下 安裝 Oracle 11g XE R2
Oracle Linux 6.5安裝Oracle 11.2.0.4 x64