SQL取整与时间差值返回
在昨天学习了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)
Startdate和 enddate 参数是合法的日期表达式。
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取整与时间差值返回相关推荐
- 转载--数据库sql取整操作
转自:http://blog.csdn.net/outget1/article/details/4821975 用oracle sql对数字进行操作: 取上取整.向下取整.保留N位小数.四舍五入.数字 ...
- SQL取整、四舍五入
SELECT ROUND(3.6,0 ) as 四舍五入4; SELECT ROUND(3.2,0 ) as 四舍五入3; SELECT ROUND(3.26,1) as 四舍五入3.3; round ...
- SQL取xml中节点值
/*1.xml: 能认识元素.属性和值2.xpath: 寻址语言,类似windows目录的查找(没用过dir命令的话就去面壁)语法格式,这些语法可以组合为条件:"."表示自己,&q ...
- SQL 查询整型字段值和十六进制相互转换
数据库中存储是整型字段,有时展示需要转换为十六进制数据显示,这样就方便分析,例如MAC地址,固件版本信息. 1. 使用CONVERT函数 将整型数值转换为十六进制数据 SELECT CONVERT(V ...
- RAM的一个实例,向下取整
实现的一个具体算法实例 这个算法的功能是 在向下取整的意义上的除法 具体来说 对于任何一个非负整数c 和正整数d 我们都需要在做完除法之后 再实施向下取整 得到一个整数 那么这个输出 实际上也就是不超 ...
- java int相除向上取整_Java基础篇——Java运算符
Java运算符按功能可分为:算数运算符.关系运算符.逻辑运算符.位运算符.赋值运算符和条件运算符. 算数运算符 算术运算符包括通常的加(+).减(-).乘(*).除(/).取模(%),完成整数型和浮点 ...
- 18100出多少取整_关于JavaScript数据类型,你知道多少?
JavaScript的数据类型是每一个前端开发者必须要掌握的内容,也是最基础最重要的角色之一,关于JavaScript数据类型你知道多少? JavaScript一共有7种数据类型:String.Num ...
- [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 ...
- math的向上取整_Javascript中Math常用操作,向上取整、向下取整、四舍五入
写在前面,最最常用几个方法: 绝对值:Math.abs(x) 最大值:Math.max([x[, y[, -]]]) 最小值:Math.min([x[, y[, -]]]) 随机值:Math.rand ...
最新文章
- 【MySQL】MySQL的事务
- openssl之EVP系列之2---对称加密算法概述
- Django1.10文档学习笔记二
- Android中BaseAdapter使用总结(imooc笔记)
- TJU Problem 2857 Digit Sorting
- php课程 6-20 字符串基础和去除空格和字符串填补函数
- android 申请usb权限,USB 权限申请流程
- python 第三方模块之 APScheduler - 定时任务
- 职坐标c语言,C/C++知识点之hexdump的C语言实现
- [SVN] 分支同步、合入主干操作分享
- [转载] Python之Numpy模块中的方法详解
- SharePoint 2010版本表
- Python爬虫之模拟CSDN网站登录
- 如何免费将jpg转换为word可编辑
- task3- python与word
- 最基础且详细的 RPCA-ALM 算法推导过程(手写稿)
- 剑指offer 学习笔记 和为s的数字
- 基于STM32的最小系统电路设计(手把手零基础教学)
- 如何选择CDN?你需要关注这三个方面
- 2023 年腾讯云服务器配置价格表出炉(2核2G/2核4G/4核8G/8核16G、16核32G)
热门文章
- 使用eNSP搭建两个交换机通过trunk实现相同vlan互联
- 父类声明子类实例化对象详解
- 华为mate40pro鸿蒙冷散热,华为mate40pro曝光,2K屏+麒麟9000+鸿蒙系统+双6400万,售价感人...
- 《信息物理融合系统(CPS)设计、建模与仿真——基于 Ptolemy II 平台》——导读...
- 格雷通路 算法 java,Java算法与数据结构教程
- Android 工程师必知必会的“ AOP知识 ”
- no input file specified解决方法
- Using platform encoding GBK actually to copy filtered reso
- ActiveMQ详解
- OCAD应用:双高斯照相物镜系统结构优化设计