比如银行卡号是'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
你可以在查询中直接执行就可以看到随机生成的卡号,你可以稍微修改一下就可以用于插入数据了
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
你可以在查询中直接执行就可以看到随机生成的卡号,你可以稍微修改一下就可以用于插入数据了
温馨提示:答案为网友推荐,仅供参考