社区
疑难问题
帖子详情
SQL rand()函数
zhang1you2huan
2010-07-25 10:24:45
SQL使用随机数算法,在开户时自动产生18位随机卡号,怎样用存储过程实现?怎样自动产生18位随机卡号?
...全文
201
6
打赏
收藏
SQL rand()函数
SQL使用随机数算法,在开户时自动产生18位随机卡号,怎样用存储过程实现?怎样自动产生18位随机卡号?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhang1you2huan
2010-08-01
打赏
举报
回复
详解见下方:
产生随机卡号的存储过程(一般用当前月份数\当前秒数\当前毫秒数乘以一定的系数作为随机种子)
create procedure proc_randCardID @randCardID char(19) OUTPUT
AS
DECLARE @r numeric(15,8)
DECLARE @tempStr char(10)
SELECT @r=RAND((DATEPART(mm, GETDATE()) * 100000 )+ (DATEPART(ss, GETDATE()) * 1000 )
+ DATEPART(ms, GETDATE()) )
set @tempStr=convert(char(10),@r) --产生0.xxxxxxxx的数字,我们需要小数点后的八位数字
set @randCardID='1010 3576 '+SUBSTRING(@tempStr,3,4)+' '+SUBSTRING(@tempStr,7,4) --组合为规定格式的卡号
GO
--测试产生随机卡号
DECLARE @mycardID char(19)
EXECUTE proc_randCardID @mycardID OUTPUT
print '产生的随机卡号为:'+@mycardID
GO
hokor
2010-07-27
打赏
举报
回复
[Quote=引用 4 楼 ldslove 的回复:]
哈希。。
[/Quote]
等待详解。。
zhang1you2huan
2010-07-27
打赏
举报
回复
O(∩_∩)O谢谢!可是产生了重复的卡号怎么办呢,虽然这样的概率是很小。
永生天地
2010-07-25
打赏
举报
回复
select convert(numeric(18,0),rand()*1000000000000000000)
jason成都
2010-07-25
打赏
举报
回复
可以一次产生1个,然后转为字符。18次字符组合。也可以一次产生18位的数字,但是太大了。
php
sql
中
rand
,
SQL
RAND
()
函数
本文介绍了
SQL
中的
RAND
函数
,详细解释了如何生成0到1之间的随机数,并展示了如何利用
RAND
函数
对数据表中的记录进行随机排序,这对于数据分析和随机抽样非常有用。
SQL
中的
RAND
函数
本文详细介绍了如何在
SQL
中使用
RAND
()
函数
创建随机十进制数和整数,包括其基本语法、实例演示,并覆盖了
SQL
Server的各种版本。通过实例学习如何在业务场景中应用随机数生成技术。
SQL
语句种
rand
()
函数
用法
本文介绍了
SQL
Server中的
RAND
()
函数
,用于生成随机数,并提供了两种生成随机整数的方法:FLOOR(
RAND
()*N)和CEILING(
RAND
()*N),分别适用于0至N-1和1至N之间的整数。此外,还提到了利用NEWID()获取表中随机记录的技巧。
无涯教程-
SQL
RAND
Function
函数
本文详细介绍了
SQL
中的
RAND
函数
,包括如何生成0到1之间的随机数,以及如何使用整数参数实现可重复的随机序列。同时,展示了如何利用ORDERBY
RAND
()对数据进行随机排序的应用实例。,
SQL
中的
rand
()
函数
用法和应用场景
本文详细介绍了
SQL
rand
()
函数
的用法,包括如何获取指定区间内的随机整数,以及如何使用带种子值的
RAND
函数
。通过实例演示了如何在电话号码生成和随机数生成中应用。阅读以理解如何在查询中引入随机元素。
疑难问题
22,297
社区成员
121,728
社区内容
发帖
与我相关
我的任务
疑难问题
MS-SQL Server 疑难问题
复制链接
扫一扫
分享
社区描述
MS-SQL Server 疑难问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章