oracle生成随机银行卡号 卡号为16位的字符串,前八位是固定银行编码,每四位后有空格,后面

个字符随机生成。

我的是SQLserver数据库随机银行卡号,你可以借鉴下

IF EXISTS(SELECT*FROM sys.procedures WHERE name ='getId')
DROP PROC getId
go
CREATE PROC getId
--@result VARCHAR(20) OUTPUT
AS

DECLARE @MM INT --月份
DECLARE @ss INT --秒
DECLARE @ms INT --毫秒
DECLARE @i INT
SELECT @MM=(select DATEPART(mm,getDate()) )
SELECT @ss=(select DATEPART(ss,getDate()) )
SELECT @ms=(select DATEPART(ms,getDate()) )
SELECT @i=(@MM* @ss *@ms*7) --7表示系数
PRINT @i

WHILE(1=1)
BEGIN

DECLARE @num VARCHAR(10)
declare @n1 varchar(4),@n2 varchar(4),@n3 varchar(4),@n4 varchar(4)
declare @result varchar(20)
select @num = rand(@i)
set @n1 = substring(@num,3,4)
select @num = rand()
select @n2 = substring(@num,3,4)
select @num = rand()
select @n3 = substring(@num,3,4)
select @num = rand()
select @n4 = substring(@num,3,4)
select @result = @n1+' '+@n2+' '+@n3+' '+@n4
print @result
if not exists(select * from cardInfo WHERE cardId=@result)
BREAK
END
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网