sql語句中取整數和小數部分


sql 取整數去小數點
update cn_product set productprice2=ROUND(productprice1*3.3,0,1) where productclassid='2'

Sql截取浮點小數位數,不四舍五入
round(551.239567,2,0)
結果:551.24

round(551.239567,2,1)
結果:551.23

第一個2表示截取2位
第二個0,1分別表示0是四舍五入,0以外是截取


如何分別取一個小數的整數部分和小數部分呀,比如12.19,取出來整數為12,小數為19?
使用CHARINDEX函數和SUBSTRING或LEFT或RIGHT函數,即可

整數部分: select cast(19.001 as int)
小數部分: select 19.001 - cast(19.001 as int)

//小數點部分:Substring(列名,CHARINDEX('.',列名)+1,Len(列名)-CHARINDEX('.',列名))--->sql
//小數點部分:mid(列名,InStr('.',列名)+1,Len(列名)-InStr('.',列名))--->access


SQL中關於截取小數點后面位數的問題
我要讓某個字段小數點后面都保留四位的,而且不能四舍五入,如數值15.14798 我要得到15.1479,請問怎么實現,謝謝大家!

select left(cast(1.7455 as varchar(50)) , charindex('.',cast(1.7455 as varchar(50))) + 2)


sql截取小數 select cast(19.16558 as decimal(9,2))


double類型的數據小數點后面位數太長,怎么樣才能保留兩位小數呀?
四舍五入取小數點后 2 位。 
float f = 1.234567F; 
f = float.Parse(f.ToString("F2")); 
Console.WriteLine(f.ToString());

Math.Round()這個是四舍五入的 
f.ToString("0.00");這個只是用來顯示的


Response.Write((0.3742621697275).ToString("f2"));//fn就表示小數點后保留n位

decimal 和 numeric
帶定點精度和小數位數的 numeric 數據類型。

decimal[(p[, s])] 和 numeric[(p[, s])]

定點精度和小數位數。使用最大精度時,有效值從 - 10^38 +110^38 - 1decimal 的 SQL-92 同義詞是 decdec(p, s)。

p(精度)

指定小數點左邊和右邊可以存儲的十進制數字的最大個數。精度必須是從 1 到最大精度之間的值。最大精度為 38。

s(小數位數)

指定小數點右邊可以存儲的十進制數字的最大個數。小數位數必須是從 0 到 p 之間的值。默認小數位數是 0,因而 0 <= s <= p。最大存儲大小基於精度而變化。

 


免責聲明!

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



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