sql server 用语句如何生成随机银行卡号(悬赏20分)

比如银行卡号是'1010 3376 2481 4554'这样的格式 前面8位数字是固定的,后面8位要随即生成 用T-SQL语句怎么实现呢

/*---------------声明固定的数字与随机的数字-------------------*/
declare @tempStr varchar(10)
set @tempStr='1010 3376 '

declare @r numeric(10,8) --后8位随机数
declare @randCardID varchar(19) --完整的银行卡号

/*----------------------产生随即因子----------------------*/
select @r=rand( (datepart(mm,getdate() )*10000)
+(datepart(ss,getdate() )*1000)
+datepart(ms,getdate()) )

/*-----截取@r中小数点后的四位随机数,再添加空格,再截取最后四位--*/
set @randCardID=@tempStr+substring(convert(varchar(10),@r),3,4)+' '+substring(convert(varchar(10),@r),7,8)

GO

你可以在查询中直接执行就可以看到随机生成的卡号,你可以稍微修改一下就可以用于插入数据了
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

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