怎么用sql编写随机卡号

declare @cardid varchar(19)
declare @tempstr varchar(10)
declare @r numeric(15,8)
set @tempstr='1010 3576'
select @r=RAND((DATEPART(mm,getdate())*100000)
+datepart(ss,getdate())*1000)+datepart(ms,getdate())
set @cardid=@tempstr+' '+SUBSTRING(CONVERT(varchar,@r),3,4)
+' '+SUBSTRING(CONVERT(varchar,@r),8,12)
print convert(varchar,@r)
print @cardid

结果里总有小数点,怎么办?图片说明

cardid直接设置成uniqueidentifier类型,就会自动生成