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.001as int)
⼩数部分:select19.001-cast(19.001as int)
//⼩数点部分:Substring(列名,CHARINDEX('.',列名)+1,Len(列名)-CHARINDEX('.',列名))--->sql
//⼩数点部分:mid(列名,InStr('.',列名)+1,Len(列名)-InStr('.',列名))--->access
SQL中关于截取⼩数点后⾯位数的问题
我要让某个字段⼩数点后⾯都保留四位的,⽽且不能四舍五⼊,如数值15.14798我要得到15.1479,请问怎么实现,谢谢⼤家!
select left(cast(1.7455as varchar(50)) , charindex('.',cast(1.7455as varchar(50))) +2)
sql截取⼩数select cast(19.16558as decimal(9,2))sql包含哪几个部分
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+1到10^38-1。decimal的 SQL-92同义词是dec和dec(p, s)。
p(精度)
指定⼩数点左边和右边可以存储的⼗进制数字的最⼤个数。精度必须是从1到最⼤精度之间的值。最⼤精度为38。
s(⼩数位数)
指定⼩数点右边可以存储的⼗进制数字的最⼤个数。⼩数位数必须是从0到 p 之间的值。默认⼩数位数是0,因⽽0<= s <= p。最⼤存储⼤⼩基于精度⽽变化。