SQL中的随机语言笔记

举报
ys6687323 发表于 2021/06/30 14:17:17 2021/06/30
【摘要】 SQL中的随机SQL中,大部分查询都是通过SELECT语句返回,最熟悉的莫过于从一张表中进行查询返回结果,但其实还有一些返回是可以通过启用函数的,比如GETDATE()。GETDATE()方法返回当前系统时间,准确说是你的数据库服务器的时间。如果有人问程序员What’s the time? 那我想《程序员装逼指南》(如果有这本书的话)会告诉你,程序员才不会带表或者看手机呢,他会优雅地输入SE...

SQL中的随机

SQL中,大部分查询都是通过SELECT语句返回,最熟悉的莫过于从一张表中进行查询返回结果,但其实还有一些返回是可以通过启用函数的,比如GETDATE()。

GETDATE()方法返回当前系统时间,准确说是你的数据库服务器的时间。如果有人问程序员What’s the time? 那我想《程序员装逼指南》(如果有这本书的话)会告诉你,程序员才不会带表或者看手机呢,他会优雅地输入SELECT GETDATE();

只是在单独使用诸如GETDATE(),RAND()等函数时表忘了加上SELECT .

上面提到RAND()方法,它默认生成的是0到1且后面拖了一长串精度的浮点数。同时它也可以接收一个种子值,如果指定了种子值,居然每次产生的随机数都是一样的!真的是坑爹的随机函数.

但其实很多时候我们需要让这个产生的随机数更符合我们的需要一点,比如只想要一个0到10之间的随机数,这时候可以联想到CEILING()和FLOOR()这两个函数,前者返回大于等于给定参数的最小整数,后者相反,返回小于等于给定参数的最大整数。有点绕口,比如CEILING(0.3),那么比0.3大的整数就是1,2,3….最小的是1,返回1.  而FLOOR(1.5)呢,对头,返回1.

接着上面的思路,要返回0到10之间的一个随机数,我们需要做的就是把RAND()返回的数先乘以10,这样返回的就是几点几的一个数,再用CEILING()或者FLOOR()就可以只取到一个整数部分的数字。

 

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。