MySQL 去掉多余的 0 是一個很常見的需求,尤其是在與金錢相關的應用中。例如,我們需要將一個貨幣金額保留兩位小數,但是當金額為整數時,通常會出現多余的 0。
為了解決這個問題,我們可以使用 MySQL 的FORMAT
函數和TRIM
函數。
SELECT TRIM(TRAILING '.' FROM FORMAT(1234.50, 2));
這個查詢語句將輸出1234.5
,可以看到,多余的 0 已經被去掉了。
如果你需要對一個表中的所有相關字段進行處理,可以使用如下語句:
UPDATE table_name SET field_name = TRIM(TRAILING '.' FROM FORMAT(field_name, 2));
其中table_name
是你需要更新的表的名稱,field_name
是需要處理的字段的名稱。
需要注意的是,使用FORMAT
函數有一點需要注意的地方,它會將數值轉換為字符串,這就意味著我們需要在進行比較時進行類型轉換,例如:
SELECT field_name FROM table_name WHERE CAST(TRIM(TRAILING '.' FROM FORMAT(field_name, 2)) AS DECIMAL(10,2)) > 100;
這個查詢語句將返回表table_name
中所有金額大于 100 的記錄。