- 一、FORMAT(X,D)
- 二、ROUND(X,D)
- 三、TRUNCATE(X,D)
- 四、CONVERT(V,T)
一、FORMAT(X,D)
format()函数会对小数部分进行四舍五入操作,
整数部分从右向左每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(X,D)
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(X,D)
truncate()函数会将小数部分2位以后的值直接舍去
SELECT
TRUNCATE( 12345678.9123, 2 ),
TRUNCATE ( 123.456, 2 ),
TRUNCATE ( 123, 2 ),
TRUNCATE ( 0.1, 2 ),
TRUNCATE ( 0.001, 2 )
四、CONVERT(V,T)
convert()函数会对小数部分进行四舍五入操作。
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 ) )
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
2021-07-19 Mac命令删除文件夹和文件命令