我們最近開始着手遷移到新的服務器。MariaDB版本:if語句差異
當前服務器正在運行MariaDB版本5.5.28。
新服務器正在運行MariaDB版本5.5.47。
當我們運行這些查詢上MariaDB的版本5.5.28,我們得到了相同的答案:
SELECT IF(1 < 2,10,20); 。 。 。 。 。 。 。答案:10
SELECT IF(1 < 2,10,20.000); 。 。 。答:10
當MariaDB的版本47年5月5日運行,我們得到不同的小數位數的答案:
SELECT IF(1 < 2,10,20); 。 。 。 。 。 。 。答案:10
SELECT IF(1 < 2,10,20.000); 。 。 。答案:10.000
在版本5.5.47上,即使條件評估爲真,假結果(20.000)的格式將用於格式化真實結果(10)。
任何想法爲什麼查詢將返回10.000而不是10?
在此先感謝。
MariaDB將使用可以表示這兩種數據的數據類型。在你的情況下,它是十進制。如果你嘗試'select if(1 <2,20,「test」)',你會看到結果是一個左對齊的字符串'20'而不是右對齊的數字'20'。以前的行爲被認爲是一個錯誤。 – alvits