目录
一、FORMAT(格式化函数,四舍五入)
FORMAT(X,D)函数会对小数部分进行四舍五入操作, 整数部分从右向左每3位一个逗号进行格式化输出。 如果查出的数据需要运算则不合适使用format(x,d)。
SELECT FORMAT( 12345678.90, 2 ), FORMAT( 123.456, 2 ), FORMAT( 123, 2 ), FORMAT( 0.1, 2 ), FORMAT( 0.001, 2 )
二、ROUND(四舍五入)
ROUND(X,D)函数会对小数部分进行四舍五入操作。 X指要处理的数,D指保留几位小数。 需要注意的是: D可以是负数,这时是指定小数点左边的d位整数位为0,同时小数位均为0。 ROUND(X)其实就是ROUND(X,0),也就是默认D为0
SELECT ROUND( 12345678.90, 2 )a, ROUND( 123.456, 2 )b, ROUND( 123, 2 )c, ROUND( 0.1, 2 )d, ROUND( 156.789, 2 )e, ROUND( 156.789, 1 )f, ROUND( 156.789, 0 )g, ROUND( 156.789, -1 )h, ROUND( 156.789, -2 )i, ROUND( 156.789, -3 )j, ROUND( 156.789)k
三、TRUNCATE(直接舍去)
TRUNCATE(X,D)函数会将小数部分2位以后的值直接舍去
SELECT TRUNCATE( 12345678.9123, 2 ), TRUNCATE ( 123.456, 2 ), TRUNCATE ( 123, 2 ), TRUNCATE ( 0.1, 2 ), TRUNCATE ( 0.001, 2 )
四、CONVERT(小数部分四舍五入)
CONVERT(V,T)函数会对小数部分进行四舍五入操作。 decimal(10,2),表示最终得到的结果: 整数部分位数+小数部分位数<=10,小数部分位数2,如图示例第一条。 如果保留位数过大,可以使用decimal(13,2)、decimal(15,2)等等。 选择合适的保留位数,不然会出现示例2的情况
SELECT CONVERT( 123456.789123456, DECIMAL ( 10, 2 ) ), CONVERT( 123456789.123456, DECIMAL ( 10, 2 ) ), CONVERT( 12345678912.3456, DECIMAL ( 13, 2 ) ), CONVERT ( 123.456, DECIMAL ( 10, 2 ) ), CONVERT ( 123, DECIMAL ( 10, 2 ) ), CONVERT ( 0.1, DECIMAL ( 10, 2 ) ), CONVERT ( 0.001, DECIMAL ( 10, 2 ) )
有用请点赞,养成良好习惯!
疑问交流鼓励请留言!
【MySql】保留两位小数(VIP典藏版)
于 2020-10-26 13:27:14 首次发布