標籤:oracle mysql 字串拼接 concat
一、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
select concat(name,score) from test;
執行結果:
如果CONCAT中串連的值不是字串,Oracle會嘗試將其轉換為字串,
與MySQL的CONCAT()函數不同,Oracle的CONCAT()函數只支援兩個參數,不支援兩個以上字串的拼接。
itmyhome
出處:http://blog.csdn.net/itmyhome1990/article/details/41848229
Oracle與MySQL字串拼接