可能,這是一個衆所周知的問題,但我無法在文檔中找到答案。 如果我運行這些查詢:爲什麼我需要在查詢中使用CAST()?
SELECT @next := 2, @amount := 1;
SELECT @next := 0.2, @amount := 0.1, @result := @next - @amount;
我會得到錯誤@result =「0」
如果我跑第二查詢一次,結果將是正確的。
如果我在第二個查詢中使用類型轉換並再次運行兩個查詢,那麼結果也是正確的。即,
SELECT @next := 0.2, @amount := 0.1, @result := CAST(@next AS DECIMAL(2,2)) - @amount;
爲什麼會發生?我應該閱讀什麼?
啊,我明白 - 用戶變量保持其啓動類型,我需要明確地改變它,如果它不符合新的賦值的類型!謝謝。 –