程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 帶您深入了解MYSQL字符串連接

帶您深入了解MYSQL字符串連接

編輯:MySQL綜合教程

MYSQL字符串連接和其他數據庫不太一樣,下面就為您詳細介紹MYSQL字符串連接的方法,如果您對此方面感興趣的話不妨一看。

在Java、C#等編程語言中字符串的拼接可以通過加號“+”來實現,比如:"1"+"3"、"a"+"b"。
在MYSQL中也可以使用加號“+”來連接兩個字符串,比如下面的SQL:
SELECT '12'+'33',FAge+'1' FROM T_Employee

仔細觀察第一列,驚訝嗎?這個列的顯示結果並不是我們希望的“1233”,而是把“12”
和“33”兩個字符串當成數字來求兩個數的和了;同樣將一個數字與一個MYSQL字符串用加號“+”連接也是同樣的效果,比如這裡的第二列。
在MYSQL中,當用加號“+”連接兩個字段或者多個字段)的時候,MYSQL會嘗試將字段值轉換為數字類型如果轉換失敗則認為字段值為0),然後進行字段的加法運算。因此,當計算的'12'+'33'的時候,MYSQL會將“12”和“33”兩個字符串嘗試轉換為數字類型的12和33,然後計算12+33的值,這就是為什麼我們會得到45的結果了。同樣道理,在計算FAge+'1'的時候,由於FAge為數字類型,所以不需要進行轉換,而'1'為字符串類型,所以MYSQL將'1'嘗試轉換為數字1,然後計算FAge+1做為計算列的值。
MYSQL會嘗試將加號兩端的字段值嘗試轉換為數字類型,如果轉換失敗則認為字段值為0,比如我們執行下面的SQL語句:
SELECT 'abc'+'123',FAge+'a' FROM T_Employee

在MYSQL中進行字符串的拼接要使用CONCAT函數,CONCAT函數支持一個或者多個參數,參數類型可以為字符串類型也可以是非字符串類型,對於非字符串類型的參數MYSQL將嘗試將其轉化為字符串類型,CONCAT函數會將所有參數按照參數的順序拼接成一個字符串做為返回值。比如下面的SQL語句用於將用戶的多個字段信息以一個計算字段的形式查詢出來:
SELECT CONCAT('工號為:',FNumber,'的員工的幸福指數:',FSalary/(FAge-21))
FROM T_Employee

CONCAT支持只有一個參數的用法,這時的CONCAT可以看作是一個將這個參數值嘗試轉化為字符串類型值的函數。MYSQL中還提供了另外一個進行字符串拼接的函數CONCAT_WS,CONCAT_WS可以在待拼接的字符串之間加入指定的分隔符,它的第一個參數值為采用的分隔符,而剩下的參數則為待拼接的字符串值,比如執行下面的SQL:
SELECT CONCAT_WS(',',FNumber,FAge,FDepartment,FSalary) FROM T_Employee

與MYSQL不同,MSSQLServer中可以直接使用加號“+”來拼接字符串。比如執行下面的SQL語句:
SELECT '工號為'+FNumber+'的員工姓名為'+Fname FROM T_Employee
WHERE FName IS NOT NULL

查看MySQL數據庫表的命令介紹

帶您了解什麼是Mysql分表

MySQL服務器的內部鎖定

Mysql Merge表的優點

Mysql行級鎖和頁級所的優缺點

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved