数据库中保留两位小数

引入:

         本人菜鸟,今天遇到一个问题,把数据库中的一列值保留两位小数查出来;

    在网上搜索了很多关于数据库中保留两位小数的文章,可惜总是不能实现,后来自己总结了下,

    才发现原来很简单,是自己没有理解够;

    在这之前先介绍下几个函数:

1:round()这是四舍五入函数,用于把数值字段舍入为指定的小数位数。

    例如:   SELECT round(column_name,decimals) FROM table_name;

   网上说这个函数可以保留 四舍五入两位小数,可是我发现SELECT ROUND(19.434,2)出来的是19.430而不是19.43,

   可能是由于不能数据库的关系,竟然讲到这个函数,我就对这个函数解释下总结了下网上一些博客对它的了解

   round 有两个重载,一个是两个参数,一个是三个参数:

   1.带有两个参数.每二个参数是小数点的左边第几位或右边第几位,分别用正负表示.左边为负,右边为负.为四舍五入.

    SELECT round(567.45676,-1)  570.00000(-1 表示四舍五入到右边第1位,其中,个位为第0位,四舍五入后舍弃的部分显示为0)

    SELECT round(567.45676,2)  567.46000

    SELECT round(20,-3)           0

   2.带三个参数.第二个参数同上.第三个参数有两种可能,一种是取0为四舍五入.另一种是正负值,则为舍去

    SELECT  round(567.45676,2,0)  567.46000(跟两个参数意义的结果,可以把两个参数的当为三位参数的特例为第三参数0)

    SELECT  round(567.45676,2,3)   567.45000(第三个参数不为0,所以为舍去,舍弃两位以后的数字,变为567.45舍弃部位为0所以是567.45000)

    SELECT  round(567.45676,2,3)   567.45000

 2: cast(value as type)函数,其实要保留两位小数,只需要把用SELECT CAST(19.4667 AS decimal(9,2))就可以这样出来是19.47要是不想四舍五入的话,

    可以 先用round函数处理下SELECT cast(round(19.4667,2,3) as decimal(9,2)) 19.46当round函数第三个参数不为0就可以;

 3:convert(type,value)函数拥有和cast一样的功能SELECT convert( decimal(9,2),round(19.4667,2,3) ) 19.46

转载于:https://www.cnblogs.com/gf345725726/archive/2012/07/13/2590923.html

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值