在昨天学习了Checksum(Newid()函数和RAND()求随机数的区别,示例中用到了Round和DATEDIFF()语法。

今天我们来了解一下这两个函数的作用

Round舍入

select round(100*rand(),0) AS 随机值

结果如下

随机值
46

在这里我引入了一个Round函数,那么Round是用来做什么呢?

我们注意到所得结果是整数,也就说明了Round的作用。

定义:ROUND 函数用于把数值字段舍入为指定的小数位数。

ROUND() 语法

SELECT ROUND(column_name,decimals) FROM table_name
参数 描述
column_name 要舍入的字段。
decimals 规定要返回的小数位数。

ROUND() 实例

我们现有下面这个 “Products” 表:

Prod_Id ProductName Unit UnitPrice
1 gold 1000 g 32.35
2 silver 1000 g 11.56
3 copper 1000 g 6.85

现在,我们希望把名称和价格舍入为最接近的整数。

我们使用如下 SQL 语句:

SELECT ProductName, ROUND(UnitPrice,0) as UnitPrice FROM Products

结果集类似这样:

ProductName UnitPrice
gold 32
silver 12
copper 7

我们对比一下Round使用前后随机数的差别

select round(100*rand(),0) Union all
select round(10*rand(),0) Union all
select round(rand(),2) Union all
select rand()

结果如下

随机值
52
8
0.49
0.0830142963021307

到了这里我们基本了解了Round函数。也许有人问,那如果我并不想舍入,而只是想进行向上或向下取整呢?

昨天在学习随机函数时,示例中使用floor和对随机数上下取整,如下

FLOOR向上取整

select floor(rand()*80) AS 随机值

CEILING向下取整

select  CEILING(rand()*100) as 随机值

结果即为想要的取整值。

DATEDIFF() 函数返回时间值差

定义

DATEDIFF() 函数返回两个日期之间的时间。

语法

DATEDIFF(datepart,startdate,enddate)

Startdateenddate 参数是合法的日期表达式。

datepart 参数可以是下列的值:

datepart 缩写
yy, yyyy
季度 qq, q
mm, m
年中的日 dy, y
dd, d
wk, ww
星期 dw, w
小时 hh
分钟 mi, n
ss, s
毫秒 ms
微妙 mcs
纳秒 ns

实例1

使用如下 SELECT 语句:

SELECT DATEDIFF(day,'2008-12-29','2008-12-30') AS DiffDate

结果:

DiffDate
1

实例2

使用如下 SELECT 语句:

SELECT ABS(DATEDIFF(day,'2008-12-30','2008-12-28')) AS DiffDate

结果:

DiffDate
2

SQL取整与时间差值返回相关推荐

  1. 转载--数据库sql取整操作

    转自:http://blog.csdn.net/outget1/article/details/4821975 用oracle sql对数字进行操作: 取上取整.向下取整.保留N位小数.四舍五入.数字 ...

  2. SQL取整、四舍五入

    SELECT ROUND(3.6,0 ) as 四舍五入4; SELECT ROUND(3.2,0 ) as 四舍五入3; SELECT ROUND(3.26,1) as 四舍五入3.3; round ...

  3. SQL取xml中节点值

    /*1.xml: 能认识元素.属性和值2.xpath: 寻址语言,类似windows目录的查找(没用过dir命令的话就去面壁)语法格式,这些语法可以组合为条件:"."表示自己,&q ...

  4. SQL 查询整型字段值和十六进制相互转换

    数据库中存储是整型字段,有时展示需要转换为十六进制数据显示,这样就方便分析,例如MAC地址,固件版本信息. 1. 使用CONVERT函数 将整型数值转换为十六进制数据 SELECT CONVERT(V ...

  5. RAM的一个实例,向下取整

    实现的一个具体算法实例 这个算法的功能是 在向下取整的意义上的除法 具体来说 对于任何一个非负整数c 和正整数d 我们都需要在做完除法之后 再实施向下取整 得到一个整数 那么这个输出 实际上也就是不超 ...

  6. java int相除向上取整_Java基础篇——Java运算符

    Java运算符按功能可分为:算数运算符.关系运算符.逻辑运算符.位运算符.赋值运算符和条件运算符. 算数运算符 算术运算符包括通常的加(+).减(-).乘(*).除(/).取模(%),完成整数型和浮点 ...

  7. 18100出多少取整_关于JavaScript数据类型,你知道多少?

    JavaScript的数据类型是每一个前端开发者必须要掌握的内容,也是最基础最重要的角色之一,关于JavaScript数据类型你知道多少? JavaScript一共有7种数据类型:String.Num ...

  8. [Python中的除法、除法取整、除法取余] [运算符分别为:/、//、%]

    选择题 以下代码输出结果正确的是: a,b,c = 2,3,11 x = c // a y = c % b  z = x / y print(x, y, z) 选项: A 5.5  2  2   B ...

  9. math的向上取整_Javascript中Math常用操作,向上取整、向下取整、四舍五入

    写在前面,最最常用几个方法: 绝对值:Math.abs(x) 最大值:Math.max([x[, y[, -]]]) 最小值:Math.min([x[, y[, -]]]) 随机值:Math.rand ...

最新文章

  1. 【MySQL】MySQL的事务
  2. openssl之EVP系列之2---对称加密算法概述
  3. Django1.10文档学习笔记二
  4. Android中BaseAdapter使用总结(imooc笔记)
  5. TJU Problem 2857 Digit Sorting
  6. php课程 6-20 字符串基础和去除空格和字符串填补函数
  7. android 申请usb权限,USB 权限申请流程
  8. python 第三方模块之 APScheduler - 定时任务
  9. 职坐标c语言,C/C++知识点之hexdump的C语言实现
  10. [SVN] 分支同步、合入主干操作分享
  11. [转载] Python之Numpy模块中的方法详解
  12. SharePoint 2010版本表
  13. Python爬虫之模拟CSDN网站登录
  14. 如何免费将jpg转换为word可编辑
  15. task3- python与word
  16. 最基础且详细的 RPCA-ALM 算法推导过程(手写稿)
  17. 剑指offer 学习笔记 和为s的数字
  18. 基于STM32的最小系统电路设计(手把手零基础教学)
  19. 如何选择CDN?你需要关注这三个方面
  20. 2023 年腾讯云服务器配置价格表出炉(2核2G/2核4G/4核8G/8核16G、16核32G)

热门文章

  1. 使用eNSP搭建两个交换机通过trunk实现相同vlan互联
  2. 父类声明子类实例化对象详解
  3. 华为mate40pro鸿蒙冷散热,华为mate40pro曝光,2K屏+麒麟9000+鸿蒙系统+双6400万,售价感人...
  4. 《信息物理融合系统(CPS)设计、建模与仿真——基于 Ptolemy II 平台》——导读...
  5. 格雷通路 算法 java,Java算法与数据结构教程
  6. Android 工程师必知必会的“ AOP知识 ”
  7. no input file specified解决方法
  8. Using platform encoding GBK actually to copy filtered reso
  9. ActiveMQ详解
  10. OCAD应用:双高斯照相物镜系统结构优化设计