rand、abs、floor、ceiling、round数学函数的用法及理解

 

注:每个查询语句对应每个结果

select RAND()     --rand()是随机函数、如果没有设种子、系统会自动会配、设100、就相当于有100个种子自动随机给
                  --rand()随机的种子都是1以下的、比如:0.999999、不会有1.0000000这个值或大于1的值、记得是随机、赋值那另说
                     --floor是地板的意思、看第2个结果、我们给的设置明明是1.233为出结果是1呢
select FLOOR(1.233)  --因为floor这个参数后面的值如果是正数的话、不管小数点后面是不是大于5-9、也不能四舍五入、只能算最小的值1、就是要比1.233小、又要整数
select FLOOR(-1.233) --而如果floor这个参数后面的值如果是负数的话、不管小数点后面是不是大于5-9、也不能四舍五入、只能取最小的值-2、因为-2肯定比-1.233小嘛、又要整数
select CEILING(1.233) --ceiling是天花板的意思、与floor相反、它也不能四舍五入、但是它是进位数、就算小数点后面是1-4、它也要进位、加多1个、也是要整数
select CEILING(-1.233)--而如果是负数的话、也要取整数、那进位是怎么进呢、这时就不是-2或1了、就是去掉小数点、比-1.233大、又是整数、这样就算进位
select ROUND(6.555555,3)--round是圆形的意思、它是必须要四舍五入的、第2个数值3的意思是小数点的第3位数要进位、那就是第4个5要四舍五入、然后基他的数都没有了、就是0
select ROUND(-6.555555,3)--这回呢、负数也是一样了、不像上面的取整数、那如果数值是4呢、就是第4位数要进位、那就是第5个5要四舍五入
select ABS(123)    
select ABS(-123)        --ABS取绝对值、要是数值是整数123就是123、要是数值是负数它也会变成正数、数值是0的话就是0    
select ABS(0)
select FLOOR(rand()*100) --这是生成随机0-99之间的整数、因为floor取比数值小的整数、就是rand()这个随机出来的数字再乘于100
                         --比如:随机是0.000564454再乘100=00.0564454、那frloor这个函数又是取要小的整数、那就是0了
select CEILING(rand()*100)--这是生成随机1-100之间的整数、因为geiling取比数值大的整数
                          --比如:随机是0.000564454再乘100=00.0564454、那geiling这个函数又是取要大的整数、那就是1了
select CAST(floor(rand()*100) as int) --这是设置返回0-99之间的整数随机、int 是整数数字类型、as是语句需要有
select CAST(CEILING(rand()*100) as int)--这是设置返回1-100之间的整数随机、

select oo,CAST(floor(rand()*100)as int)as bb 
from table_6                               --查询table_6表中oo这个列和随机0-99数值的别名bb、每次查询 bb这个列的值都会不一样
select floor(rand()*900)+100               --设置100-900之间的整数随机、在原有0-899之间再加上100、那就是100-899的数字了

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

水亦流人必上

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值