參考:http://database.51cto.com/art/201005/201651.htm
http://www.lai18.com/content/1693593.html
直接上例子,以下是對字段cost除以1000,保留兩位小數的處理
cast(SUM(A.costs)/1000 AS decimal(32,2))
cast()函數是一個轉換函數,參數是一個表達式,它包括用AS關鍵字分隔的源值和目標數據類型。
1)將字符串‘123’轉換為int整型:
select CAST('123' AS int) #out: 123
2) CAST()函數和CONVERT()函數都不能執行四舍五入或截斷操作:
SELECT CAST('123.4' AS int)
由於123.4不能用int數據類型來表示,所以對這個函數調用將產生一個錯誤。
decimal(M,D)是一種數據類型,參數M為數字精度,精度就是總的數字位數(小數位和整數位的和),D就是要保留的小數位數。
需要注意:1)參數m<65 是總個數,d<30且 d<m 是小數位。
2)decimal可能的最大取值范圍與double 一樣,但是其有效的取值范圍由M 和D 的值決定。如果改變M 而固定D,則其取值范圍將隨M 的變大而變大。