Oracle與MySQL字串拼接

來源:互聯網
上載者:User

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

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.