zoukankan      html  css  js  c++  java
  • SQL中数字的格式化

     用sql语句来格式化double型的数据,比如,只取出小数点后面的两位
    一。主要方法

    --取小数位前数字,不考虑四舍五入
    select left('30000.72234', charindex('.', '30000.72234')-1)
    其中:charindex('.', '30000.72234')获得小数点的位置;-1则表示在小数点前面的全部,如果想获取小数点后面的n为,写成+n就可以了。还挺好用的。

    --每三位用逗号相隔,留2位小数,不考虑四舍五入
    select convert(varchar, cast(round(30000.72234,0) as money), 1)

    --每三位用逗号相隔,不留小数位,考虑四舍五入
    select left(convert(varchar, cast(round(30000.72234,0) as money), 1) , charindex('.', convert(varchar, cast(round(30000.72234,0) as money), 1))-1)


    二。CAST和 ROUND的比较
    1.
    SELECT CAST('123.456' as decimal)  将会得到 123(小数点后面的将会被省略掉)。
    如果希望得到小数点后面的两位。
    则需要把上面的改为
    SELECT CAST('123.456' as decimal(38, 2))

    ===>123.46
    自动四舍五入了!

    2.
    SELECT ROUND(123.75633, 2, 1),
    ROUND(123.75633, 2)
    上面的SQL得到的2个值是不一样的,前一个是:123.75000,后一个是:123.76000。
    因为前者在进行四舍五入之前,小数点后已经被截取,保留了2位。
    而后者则没有被截取,四舍五入时自然就会得到123.76000

  • 相关阅读:
    Day 10 网络基础
    Day9 编码和网络基础 Encoding and network
    Day 8 数据与进制转换
    Day 7 文件管理补充和练习 File management & exercises
    5--kubernetes实战初入门
    4--k8s之资源管理 ; yaml语言
    3--二进制安装k8s
    kubernetes之安装集群图形化界面Dadhboard
    2--kubeadm安装k8s
    1--kubernetes简介及架构图
  • 原文地址:https://www.cnblogs.com/QiuJL/p/4524235.html
Copyright © 2011-2022 走看看