zoukankan      html  css  js  c++  java
  • SQL Server 中字段的精度问题

    在工作中遇到,一个多表联合查询的情况,查询出来的有些字段精度太高,小数点后达到8个0,现在客户要求报表只要精确到0.01 ,就是只要小数点后面只要保存两位,另外还需要四舍五入

    在网上找了点资料,自己测试了下,下面给大家分享下:

    ---创建一个测试表

    USE test
    CREATE TABLE studentscore
    (
    id INT IDENTITY(1,1) PRIMARY KEY ,
    Score VARCHAR(20)
    )
    下面是截图,插入这些数据
     

    1.不改变表中的值,只在查询时显示,四舍五入只保留两位小数

    select Convert(decimal(18,2), Score) from studentscore
     
    执行结果:

    2.直接更新表中的值,四舍五入只保留两位小数

    update studentscore set Score = cast(cast(round(Score,2) as float ) as varchar)
    where charindex('.',REVERSE(cast(Score as varchar(50))))-1>3
     
    更新后的数据库:
  • 相关阅读:
    mysql索引、group by、explain、insert delayed
    mysql学习笔记
    Handler
    文件操作
    RatingBar
    ListView(二)
    文件管理函数的草稿
    SAX解析XML
    phpunit
    Service(一)
  • 原文地址:https://www.cnblogs.com/kelly1314/p/7244884.html
Copyright © 2011-2022 走看看