????????在平時的數(shù)據(jù)庫開發(fā)中,我們可能會碰到這樣的需求玷坠,將一條結(jié)果數(shù)據(jù)的某幾個字段相加窖认,并輸出為一個新的字段。例如:將param1+param2的值作為param3來進(jìn)行展示锌钮,這時候往往可以用變量來解決此問題桥温,下面與大家一起分享一下。
? ? ? ? 請先看下面一條sql語句:
SELECT
1 AS param1,
2 AS param2
from DUAL
結(jié)果輸出如下圖所示:
這時候轧粟,如果我們想將這條數(shù)據(jù)的param1和param2兩個字段的值相加為param3策治,那么可以這么做:
①創(chuàng)建兩個變量用來接收param1和param2的值,并根據(jù)其字段類型將其賦初值(此處用int型為例兰吟,即賦值為0):
set @param1=0;
set @param2=0;
②使用以下語句通惫,將param1和param2這兩個參數(shù)進(jìn)行賦值:
此時代碼如下:
set @param1=0;
set @param2=0;
SELECT
@param1:=1 AS param1,
@param2:=2 AS param2
from DUAL
③賦值完成,最后再將兩個變量的值進(jìn)行相加得到param3(別名)即可混蔼,sql語句如下:
set @param1=0;
set @param2=0;
SELECT
@param1:=1 AS param1,
@param2:=2 AS param2,
@param1+@param2 AS param3
from DUAL
最終結(jié)果顯示如下圖:
總結(jié):這里只是以int型為例履腋,char類型的數(shù)據(jù)也是同理的,如果要是字符串拼接的話使用CONCAT(@param1,@param2)即可。
如果各位大神對本文有什么意見或建議遵湖,歡迎評論留言悔政,謝謝!