mysql 小数点保留两位_sql 保留两位小数

mysql 小数点保留两位_sql 保留两位小数一、FORMAT二、ROUND三、TRUNCATE四、类型转换函数CONVERT一、FORMATformat()函数会对小数部分进行四舍五入操作,整数部分从右向左每3位一个逗号进行格式化输出。如果查出的数据需要运算不太合适用format(x,d)。SELECT FORMAT(12345678.90,2), FORMAT(123.456,2), FORMAT(123,2), FORMAT(0.1,2), FORMAT(0.001,.............

目录

一、FORMAT(格式化函数,四舍五入)

二、ROUND(四舍五入)

三、TRUNCATE(直接舍去)

四、CONVERT(小数部分四舍五入)


一、FORMAT(格式化函数,四舍五入)

FORMAT(X,D)函数会对小数部分进行四舍五入操作,
整数部分从右向左每3位一个逗号进行格式化输出。
如果查出的数据需要运算则不合适使用format(x,d)。
只听到从架构师办公室传来架构君的声音:
褰裳起从之,果得心所亲。有谁来对上联或下联?
此代码由Java架构师必看网-架构君整理
SELECT FORMAT( 12345678.90, 2 ), FORMAT( 123.456, 2 ), FORMAT( 123, 2 ), FORMAT( 0.1, 2 ), FORMAT( 0.001, 2 )

mysql 小数点保留两位_sql 保留两位小数

二、ROUND(四舍五入)

ROUND(X,D)函数会对小数部分进行四舍五入操作。
X指要处理的数,D指保留几位小数。
需要注意的是:
D可以是负数,这时是指定小数点左边的d位整数位为0,同时小数位均为0。
ROUND(X)其实就是ROUND(X,0),也就是默认D为0
此代码由Java架构师必看网-架构君整理
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

mysql 小数点保留两位_sql 保留两位小数

三、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 )

mysql 小数点保留两位_sql 保留两位小数

四、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 小数点保留两位_sql 保留两位小数

有用请点赞,养成良好习惯!

疑问交流鼓励请留言!

架构君码字不易,如需转载,请注明出处:https://javajgs.com/archives/212008
0

发表评论