① sql语句如何实现把分数取整
round函数
Round 函数
返回按指定位数进行四舍五入的数值。
Round(expression[, numdecimalplaces])
参数
Expression
必选项。数值表达式 被四舍五入。
Numdecimalplaces
可选项。数字表明小数点右边有多少位进行四舍五入。如果小数位数是负数,则round()返回的结果在小数点左端包含指定个零.如果省略,则 Round 函数返回整数。
更详细的解释及举例
利用INT函数构造四舍五入的函数返回的结果精度有限,有时候满足不了我们的实际需要。Excel的Round函数可以解决这个问题。Round函数的作用是返回某个数字按指定位数取整后的数字。语法为ROUND(number,num_digits),其中Number是需要进行四舍五入的数字;Num_digits为指定的位数,按此位数进行四舍五入,如果 num_digits 大于 0,则四舍五入到指定的小数位,如果 num_digits 等于 0,则四舍五入到最接近的整数,如果 num_digits 小于 0,则在小数点左侧进行四舍五入。 举例来说, =ROUND(2.15, 1) 将 2.15 四舍五入到一个小数位,结果为2.2 =ROUND(2.149, 1) 将 2.149 四舍五入到一个小数位结果为2.1 =ROUND(-1.475, 2) 将 -1.475 四舍五入到两小数位结果为-1.48) =ROUND(21.5, -1) 将 21.5 四舍五入到小数点左侧一位结果为20
② SQL 取某数值每位数的值,例如数值:245.123,我要分别取出2,4,5,1,2,3。这语句该怎么写
这个可以通过取整与取余来达到目的呀
比如说要取个位上的数,则将整个数除于10取余,然后再除于1取整就达到了
SELECT CAST(( 245.123 % 10 ) / 1 AS INT)
结果是5 ,其它位上的数可以参照这个来,希望能帮到你……
③ SQL取整 比如说我的字段里面的值分别是58323 25 4578 位数少于3位的不管,大于三位的把个位十位更新为00
1\
update 表 set 字段=floor(字段/100)*100
where 字段>100
;
2\
个位:update 表 set 字段=case when 字段%10=9 then 字段-1 else 字段 end;
十位:update 表 set 字段=case when floor(字段/10)%10=9 then 字段-10 else 字段 end;
百位:update 表 set 字段=case when floor(字段/100)%10=9 then 字段-100 else 字段 end;
如果是纯整数,也可以使用substring来处理。
④ sql中取整语句怎么写
1.绝对值
SQL:select abs(-1) value
O:select abs(-1) value from al
2.取整(大)
S:select ceiling(-1.001) value
O:select ceil(-1.001) value from al
3.取整(小)
S:select floor(-1.001) value
O:select floor(-1.001) value from al
4.取整(截取)
S:select cast(-1.002 as int) value
O:select trunc(-1.002) value from al
5.四舍五入
S:select round(1.23456,4) value 1.23460
O:select round(1.23456,4) value from al 1.2346
⑤ SQL数据库如何提取指定的金额数字
SUBSTRING ( expression , start , length )
select substring('123456.78',1,1) 其中 第一个"1"是第一位开始,第二个"1"是指取一位数。
所以十万:select substring('123456.78',1,1) =1
取千:select substring('123456.78',3,1) =3
取角:select substring('123456.78',8,1) =7
----仅供参考
⑥ sql 取整数
SELECT CEIL(2/7) FROM DUAL;
⑦ sql中如何取小数点后N位和如何只取整数部分
先按保留两位小数来取数,再转换为字符型,再按字符型取最后两位字符就是你要的了
round(字段名,2)
convert
substring
⑧ sql查询可以指定整型数据的位数吗
这个比较简单,你可以自己写一个,比如你的那个整型列名为cID,那么要想显示成这样,就可以采取以下语句
SELECT RIGHT('0000'+CONVERT(VARCHAR,cID),4) FROM [yourtable] WHERE cName = '532信息'
类似这样的一个转换即可,原理是先将该列转换为字符型,然后在其前面加四个0,再取其右边的4位。
⑨ sql中如何取小数点后N位和如何只取整数部分
先按保留两位小数来取数,再转换为字符型,再按字符型取最后两位字符就是你要的了
round(字段名,2)
convert
substring
⑩ SQL如何取数字 各个位上的个十百千万
先将整型转换成字符串,再来做截取:
用到函数:
用到cast转换
substring截取
selectid,SUBSTRING(cast(字段asvarchar(8)),1,1),SUBSTRING(cast(字段asvarchar(8)),2,1),SUBSTRING(cast(字段asvarchar(8)),3,1),SUBSTRING(cast(字段asvarchar(8)),4,1)from表
有问题追问