Mysql中字符串正確的連接方法


雖然SQL server和My sql的語句基本都一致,但是仍然存在一些小區別。就如字符串的連接來說,SQL server中的字符串連接是使用“+”來連接,不帶引號sql server是做加法運算。而my sql中無論是帶引號和不帶引號,它都將其先轉成數字型,然后在做運算。 

SQL Server中字符串的連接:

ps:Age=21 

SELECT '12'+'34',Age+1 
FROM table 

其結果輸出結果是第一列是1234,第二列是22。 

MySQl中字符串連接: 

SELECT '12'+'34','1abc'+'22','abc'+'3'
 FROM table 

很驚訝發現其輸出結果是:第一列為46,第二列23,第三列為3。 

注:在Mysql中,使用“+”進行字符連接時,mysql會嘗試將字段值轉換為數字類型(如果轉換失敗,就當做數字0處理)。如’1abc’+’22′,mysql將“1abc”轉成數字1在進行運算;將“abc”當做0處理。 

在MYSQL中進行字符串的拼接要使用CONCAT函數,CONCAT函數支持一個或者多個參數,參數類型可以為字符串類型也可以是非字符串類型,對於非字符串類型的參數MYSQL將嘗試將其轉化為字符串類型,CONCAT函數會將所有參數按照參數的順序拼接成一個字符串做為返回值。

比如下面的SQL語句用於將用戶的多個字段信息以一個計算字段的形式查詢出來:

SELECT CONCAT('學號:',XNumber,'的綜合成績:',FSalary/(FAge-21)) 
FROM user 

其輸出結果是:學號2010010035的綜合成績是90。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM