SQL中的取整函数、取小数

取整函数:

1、trunc(value,precision)按精度(precision)截取某个数字,不进行舍入操作。
返回截尾到y位小数的x值:trunc(x,[y]):

select trunc(23.33)
------------
23

2、round(value,precision)根据给定的精度(precision)输入数值[四舍五入取整]。
返回舍入到小数点右边y位的x值:round(x,[y]):

select round(23.33)
------------
23

3、ceiling(value) 产生大于或等于指定值(value)的最小整数[向上取整]。
返回大于或等于x的最大整数:

select ceiling(23.33)
-----------
24

4、floor(value)与 ceiling()相反,产生小于或等于指定值(value)的最小整数[向下取整]。
返回等于或小于x的最大整数:

select floor(23.33)
------------
23

5、sign(value) 与绝对值函数ABS()相反。ABS()给出的是值的量而不是其符号,sign(value)则给出值的符号而不是量。
返回x的符号:

select sign(-23.33)
------------
-1

总结:

【四舍五入取整】:round()
【向下取整】:FLOOR(),cast(x as int)。取日期的天数部分不能使用cast,需floor(cast(date as float))
【向上取整】:CEILING()
【取小数】 :x-floor(x)

原文地址:http://blog.51cto.com/alun51cto/2061193

时间: 2024-11-05 20:30:53

SQL中的取整函数、取小数的相关文章

sql中取小数的整数部分和小数部分

1.floor()函数. select floor(3.44), 3.44-floor(3.44) 显示: 3     0.44 对于负数和正数这个函数处理的不一样. 对于正数不进行四舍五入.对于负数进行四舍五入. 2. select cast(12.3 as int), 12.3-cast(12.3  as int) select cast(-12.3 as int), -12.3+cast(-12.3  as int) 显示: 12     0.3 -12 -0.3 3. select le

NSPredicate用法总结(Cocoa框架中的NSPredicate用于查询,原理和用法都类似于SQL中的where,作用相当于数据库的过滤取)

简述:Cocoa框架中的NSPredicate用于查询,原理和用法都类似于SQL中的where,作用相当于数据库的过滤取. 定义(最常用到的方法): [objc] view plaincopy NSPredicate *ca = [NSPredicate predicateWithFormat:(NSString *), ...]; Format:(1)比较运算符>,<,==,>=,<=,!=可用于数值及字符串例:@"number > 100" (2)范围

MATLAB中取整函数(fix, floor, ceil, round)的使用

MATLAB取整函数 1)fix(x) : 截尾取整. >> fix( [3.12 -3.12]) ans = 3    -3(2)floor(x):不超过x 的最大整数.(高斯取整) >> floor( [3.12 -3.12]) ans = 3    -4 (3)ceil(x) : 大于x 的最小整数 >> ceil( [3.12 -3.12]) ans = 4    -3 (4)四舍五入取整 >> round(3.12 -3.12) ans = 0 &

paper 68 :MATLAB中取整函数(fix, floor, ceil, round)的使用

MATLAB取整函数 1)fix(x) : 截尾取整. >> fix( [3.12 -3.12]) ans =      3    -3 (2)floor(x):不超过x 的最大整数.(高斯取整) >> floor( [3.12 -3.12]) ans =      3    -4 (3)ceil(x) : 大于x 的最小整数 >> ceil( [3.12 -3.12]) ans =      4    -3 (4)四舍五入取整 >> round(3.12

SQL中对于两个不同的表中的属性取差集except运算

SQL中对两个集合取差集运算,使用except关键字,语法格式如下: SELECT column_name(s) FROM table_name1 EXCEPT SELECT column_name(s) FROM table_name2 输出为在前一个集合中存在,而不存在于第二个集合的元组. 如果,选取两个元组,并且元组名称不同会出现什么结果呢? 使用之前使用过的示例,构建代码如下: create table employee (empname char(6), numchildren int

【语法】SQL中的case when then else end用法-解决一个字段根据条件取不同值

Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END 这两种方式,可以实现相同的功能.简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功能方面会有些限制,比如写判断式. 还有一个需要

js取整函数

1.丢弃小数部分,保留整数部分parseInt(5/2) 2.向上取整,有小数就整数部分加1 Math.ceil(5/2) 3,四舍五入. Math.round(5/2) 4,向下取整 Math.floor(5/2) Math 对象的方法FF: Firefox, N: Netscape, IE: Internet Explorer 方法 描述 FF N IEabs(x) 返回数的绝对值 1 2 3acos(x) 返回数的反余弦值 1 2 3asin(x) 返回数的反正弦值 1 2 3atan(x

delphi的取整函数round、trunc、ceil和floor

首先引入math单元 uses math; 1.Round(四舍六入五留双) 功能说明:对一个实数进行四舍五入.(按照银行家算法) 例: var i, j: Integer; begin i := Round(1.5); // i等于2 j := Round(2.5); // j等于2 end; 在Delphi中使用Round函数得到的答案有时与我们所预期的会不太一样:采用的是四舍六入五留双.即当舍或入位大于或小于五时按四舍五入来处理 ,而当舍或入位等于五时,就要看前面一位是什么,根据奇进偶不进

php取整函数ceil,floor,round,intval函数的区别

开发过程中,遇到数据处理取整的时候,你会用哪个呢,小涛来介绍一下:PHP取整函数有ceil,floor,round,intval,下面详细介绍一下: 1.ceil — 进一法取整说明float ceil ( float $value )返回不小于 value 的下一个整数,value 如果有小数部分则进一位.ceil() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大.ceil() 例子 <?php echo ceil(4.3); // 5 echo cei