MySQL的decimal類型可以存儲一定精度的浮點數(shù),但是有時候我們需要將這些數(shù)字格式化成整數(shù),去掉小數(shù)部分。下面介紹一下如何在MySQL中實現(xiàn)。
我們可以使用MySQL內(nèi)置函數(shù)floor()或truncate()來實現(xiàn)去除小數(shù)的操作。這兩個函數(shù)的區(qū)別在于對于負數(shù)的處理方式不同:
SELECT FLOOR(1.23), FLOOR(-1.23); -- 輸出 1 和 -2 SELECT TRUNCATE(1.23, 0), TRUNCATE(-1.23, 0); -- 輸出 1 和 -1
可以看到,floor()對于負數(shù)會向下取整,而truncate()會截斷小數(shù)部分。
在使用時,我們可以在SELECT語句中將查詢出來的decimal類型的字段傳給這兩個函數(shù):
SELECT FLOOR(price), TRUNCATE(price, 0) FROM products;
上面的例子中,我們將查詢出來的price字段進行去除小數(shù)的操作,并且使用floor()和truncate()函數(shù)分別獲得結(jié)果。運行結(jié)果如下:
+-----------+-----------------+ | FLOOR(price) | TRUNCATE(price, 0) | +-----------+-----------------+ | 30 | 30 | | 25 | 25 | | 23 | 23 | +-----------+-----------------+
這樣,我們就可以方便地對MySQL中的decimal類型數(shù)據(jù)進行去除小數(shù)的操作。需要注意的是,如果我們使用truncate()函數(shù)的話,需要指定第二個參數(shù)表示需要保留的小數(shù)位數(shù),這里我們設(shè)置為0即可。
上一篇css 首行縮進2個漢字
下一篇mysql格式化寫人時間