????????在MySQL中,用戶變量是一種在會話級別存儲和重用值的方式,它們以@符號開頭。用戶變量可以在查詢中用來存儲和傳遞數據,增強SQL腳本的功能性。
????????定義和賦值用戶變量用戶變量可以直接在查詢中定義并賦值,不需要預先聲明。賦值可以使用SET語句或SELECT語句完成。使用SET語句
SET @myVar = 10; -- 賦予整數值
SET @message = 'Hello, World!'; -- 賦予字符串值
SET @today = CURRENT_DATE(); -- 賦予當前日期
SELECT @sum := SUM(column_name) FROM table_name; -- 計算某列總和并賦值給@sum
SELECT @last_id := LAST_INSERT_ID(); -- 獲取最近插入行的自增ID并賦值
滾動遞減賦值
set @points2 =: 3369;
select 100,1,-1,@points2,@points2=(@points2-1),sddm,sdmc, yxrq - INTERVAL 1 YEAR,yxrq ,create_time,create_by
from sys_sqsd
where tenant_id=100
order by yxrq asc?
注意事項
????????用戶變量的作用范圍局限于創建它們的會話。當會話結束時,這些變量就會消失。
????????在同一查詢中,用戶變量的賦值和使用順序很重要,因為MySQL是從左到右解析查詢的。
????????當在SELECT語句中同時定義和使用用戶變量時,需要注意MySQL的執行順序可能會導致意料之外的結果,尤其是在涉及到多行處理時。
????????使用用戶變量可以提高復雜查詢的可讀性和靈活性,但過度依賴它們可能導致代碼難以理解和維護。