[轉]mysql中的字符串的拼接

字符串的拼接html

1,Mysqlsql

  在Java、C#等編程語言中字符串的拼接能夠經過加號「+」來實現,好比:"1"+"3"、"a"+"b"。
在MYSQL中也能夠使用加號「+」來鏈接兩個字符串,好比下面的SQL: 編程

Sql代碼   收藏代碼
  1. SELECT '12'+'33',FAge+'1' FROM T_Employee   

 執行結果oracle

Sql代碼   收藏代碼
  1. '12'+'33'  FAge+'1'   
  2. 45    26   
  3. 45  29   
  4. 45  24   
  5. 45  26   
  6. 45  29   
  7. 45  28   
  8. 45  24   
  9. 45  29   
  10. 45  23   

 
MYSQL會嘗試將加號兩端的字段值嘗試轉換爲數字類型,若是轉換失敗則認爲字段值爲
0,好比咱們執行下面的SQL語句: 編程語言

Sql代碼   收藏代碼
  1. SELECT 'abc'+'123',FAge+'a' FROM T_Employee   

 

  執行完畢咱們就能在輸出結果中看到下面的執行結果:  函數

Html代碼   收藏代碼
  1.    
  2. 'abc'+'123'  FAge+'a'   
  3. 123  25   
  4. 123  28   
  5. 123  23   
  6. 123  25   
  7. 123  28   
  8. 123  27   
  9. 123  23   
  10. 123  28   
  11. 123  22   

   在MYSQL中進行字符串的拼接要使用CONCAT函數,CONCAT函數支持一個或者多個參數,
參數類型能夠爲字符串類型也能夠是非字符串類型,對於非字符串類型的參數MYSQL將嘗試
將其轉化爲字符串類型,CONCAT函數會將全部參數按照參數的順序拼接成一個字符串作爲
返回值。好比下面的SQL語句用於將用戶的多個字段信息以一個計算字段的形式查詢出來:spa

Sql代碼   收藏代碼
  1. SELECT CONCAT('工號爲:',FNumber,'的員工的幸福指數:',FSalary/(FAge-21))   

 

FROM T_Employee  執行完畢咱們就能在輸出結果中看到下面的執行結果:htm

Java代碼   收藏代碼
  1. CONCAT('工號爲:',FNumber,'的員工的幸福指數:',FSalary/(FAge-21))   
  2. 工號爲:DEV001的員工的幸福指數:2075.000000   
  3. 工號爲:DEV002的員工的幸福指數:328.685714   
  4. 工號爲:HR001的員工的幸福指數:1100.440000   

MYSQL中還提供了另一個進行字符串拼接的函數CONCAT_WS,
CONCAT_WS能夠在待拼接的字符串之間加入指定的分隔符,它的第一個參數值爲採用的分
隔符,而剩下的參數則爲待拼接的字符串值,好比執行下面的SQL: blog

Sql代碼   收藏代碼
  1. SELECT CONCAT_WS(',',FNumber,FAge,FDepartment,FSalary) FROM T_Employee   

 

  執行完畢咱們就能在輸出結果中看到下面的執行結果:字符串

Java代碼   收藏代碼
  1. CONCAT_WS(',',FNumber,FAge,FDepartment,FSalary)   
  2. DEV001,25,Development,8300.00   
  3. DEV002,28,Development,2300.80   
  4. HR001,23,HumanResource,2200.88   
  5. HR002,25,HumanResource,5200.36   
  6. IT001,28,InfoTech,3900.00   
  7. IT002,27,InfoTech,2800.00   
  8. SALES001,23,Sales,5000.00   
  9. SALES002,28,Sales,6200.00   
  10. SALES003,22,Sales,1200.00   

 

2,oracle

  Oracle中使用「||」進行字符串拼接,其使用方式和MSSQLServer中的加號「+」同樣。
好比執行下面的SQL語句:

Sql代碼   收藏代碼
  1. SELECT '工號爲'||FNumber||'的員工姓名爲'||FName FROM T_Employee   
  2. WHERE FName IS NOT NULL   

 

執行完畢咱們就能在輸出結果中看到下面的執行結果:

Html代碼   收藏代碼
  1. 工號爲||FNUMBER||的員工姓名爲||FNAME   
  2. 工號爲DEV001的員工姓名爲Tom   
  3. 工號爲DEV002的員工姓名爲Jerry   
  4. 工號爲SALES001的員工姓名爲John   
  5. 工號爲SALES002的員工姓名爲Kerry   
  6. 工號爲SALES003的員工姓名爲Stone   
  7. 工號爲HR001的員工姓名爲Jane   
  8. 工號爲HR002的員工姓名爲Tina   
  9. 工號爲IT001的員工姓名爲Smith   

   除了「||」,Oracle還支持使用CONCAT()函數進行字符串拼接,好比執行下面的SQL語句:

Sql代碼   收藏代碼
  1. SELECT CONCAT('工號:',FNumber) FROM T_Employee   

 

執行完畢咱們就能在輸出結果中看到下面的執行結果:

Html代碼   收藏代碼
  1. CONCAT(工號:,FNUMBER)   
  2. 工號:DEV001   
  3. 工號:DEV002   
  4. 工號:HR001   
  5. 工號:HR002   
  6. 工號:IT001   
  7. 工號:IT002   
  8. 工號:SALES001   
  9. 工號:SALES002   
  10. 工號:SALES003    

 若是CONCAT中鏈接的值不是字符串,Oracle會嘗試將其轉換爲字符串,

  與MYSQL的CONCAT()函數不一樣,Oracle的CONCAT()函數只支持兩個參數,不支持兩個以
上字符串的拼接。若是要進行多個字符串的拼接的話,能夠使用多個CONCAT()函數嵌套使用。

Sql代碼   收藏代碼
  1. SELECT CONCAT(CONCAT(CONCAT('工號爲',FNumber),'的員工姓名爲'),FName) FROM   
  2. T_Employee   
  3. WHERE FName IS NOT NULL   

 

執行完畢咱們就能在輸出結果中看到下面的執行結果:

Html代碼   收藏代碼
  1. CONCAT(CONCAT(CONCAT(工號爲,FNUMBER),的員工姓名爲),FNAME)   
  2. 工號爲DEV001的員工姓名爲Tom   
  3. 工號爲DEV002的員工姓名爲Jerry   
  4. 工號爲SALES001的員工姓名爲John   
  5. 工號爲SALES002的員工姓名爲Kerry   
  6. 工號爲SALES003的員工姓名爲Stone   
  7. 工號爲HR001的員工姓名爲Jane   
  8. 工號爲HR002的員工姓名爲Tina   
  9. 工號爲IT001的員工姓名爲Smith   
相關文章
相關標籤/搜索