实战中有一半以上处理的数据类型就是数值型数据,当遇到棘手问题时,多查阅一下SQL函数,是可以高效提升数据处理的效率,本小结将重点介绍几个常用的数学函数及应用。
- 随机抽样
- rand():从数据中随机抽取一些样本,会返回一个0到1范围内的随机数
- rand(int seed):如果指定种子seed,则会等到一个稳定的随机数序列
示例:从数据表中随机取两条数据,设定了rand(100)之后,每次跑出来的都是一样的两条数据;如果rand(),不指定种子seed,每次跑出来的数据都不一样
select *
from table
order by rand(100)
limit 2;
2. 取整函数
- round():对数值表达式截取指定的整数长度,返回四舍五入后的值
- ceiling():返回大于或等于数值表达式的最小整数
- floor():返回小于或等于数值表达式的最大整数
示例:对于数字9.34048来说,
round可以指定截取几位小数位,round(9.34048,1)返回的是9.3
ceiling()记住英文是天花板就很形象了,返回的是10
floor()记住英文是地板也就很好理解了,返回的是9
如果把以上两个结合起来就很好玩了,例如
- 生成0至99之间任一整数:cast( floor(rand()*100) as int)
- 生成1至100之间任一整数:cast(ceiling(rand() * 100) as int)
补充:cast是不同格式的转换函数,格式为:cast(exp as int)