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
 
更新后的數據庫:

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM