问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C# 生成6位唯一标识(全数字,不带4的)

发布网友 发布时间:2024-10-07 17:29

我来回答

3个回答

热心网友 时间:2024-12-01 12:06

USE tempdb
GO

-- 创建测试表
CREATE TABLE tb(id char(8))

-- 测试数据插入的处理时间, 记录开始处理的时间点
DECLARE @dt datetime
SET @dt = GETDATE()
-- 插入随机数据
SET NOCOUNT ON
DECLARE @row INT
-- 待插入数据
DECLARE @iid CHAR(8)
SET @row = 10000 -- 设置总记录数
WHILE @row >0
BEGIN
-- 显示提示信息, 表示还需要插入多行数据
RAISERROR('need %d rows', 10, 1, @row) WITH NOWAIT

-- 插入随机的位编码数据
SET ROWCOUNT @row
SET @iid = RIGHT(CONVERT(bigint, ABS(CHECKSUM(NEWID()))), 6)
IF CHARINDEX('4',@iid)=0
INSERT tb SELECT
id = @iid
SET @row = @row - @@ROWCOUNT
END

-- 显示插入数据使用的时间
SELECT BeginDate = @dt, EndDate = GETDATE(),
Second = DATEDIFF(Second, @dt, GETDATE())
GO

-- 显示最终的结果记录是否正确
SELECT COUNT(*) FROM tb
GO

-- 删除测试
--DROP TABLE tb

简单的写了个点sql 实际数据应该是有40W多行但是我自己只用10000行做了测试~你要是用100万的数据集做测试建议把print去掉~太多了而且去重的部分要优化下

Ps:我假定是从1到99999所以可能实际和你需求有偏差~自己改下吧~大体应该没错~而且这玩意相当耗费性能。。我插入取得是100W以内的随机数算上判断重复加上插入和中间的输出(可以不要)居然要50秒 (后来又改了下2秒内完成)追问我自己写了个,向三张表插入十二万数据,判断重复,过滤带4的竟然要10分钟,不懂得怎么优化.

热心网友 时间:2024-12-01 12:06

public int getKey()
{
Random rd = new Random();
bool isOK = true;
int key = 0;
while (isOK)
{
key = (int)(rd.NextDouble() * 999999);
if (key.ToString().IndexOf("4") == -1)//判断是否包含4
{
//如果怕生成重复的数据,可以在这里加一个判断是否重复的方法
//if(CheckKey())
isOK = false;
}
}
return key;
}

热心网友 时间:2024-12-01 12:07

这是不可能的,你算算就知道了,一共能生成多少个标识。追问范围在100000到999999的

追答大致说个思路吧:
你要的全是数字,可以用oracle数据库的序列作为参考,100000递增,每次都得查询数据库当前的最大值进行递增,递增之后的值如果含有4那就舍弃继续递增。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
2024年云南292分能考上什么大学? 2024高考多少分能被焦作大学录取 【芍药花茶】芍药花茶的功效与作用 芍药花茶怎样喝 芍药花茶的介绍 芍药花茶的属性和功效 联想拯救者电竞手机Pro评测 植物大战僵尸花园战争有用的激活码发给我,有用我就采纳 亲亲奶爸《亲亲奶爸》歌词 植物大战花园战争激活码只能用一次? 歌词中带有。我的好爸爸。我的好爸爸。儿女怎能舍得让你走,_百度... edge浏览器没声音是怎么回事-edge浏览器没声音解决办法 急!西北农林科技大学什么专业比较好 【高考】去西北农林科技大学学什么最好?? 2024考研|西北农林科技大学资源与环境学院(土壤学、植物营养学)专业分 ... 不动产登记是哪个部门 奥奇传说神光明王怎么变成神圣光明王?神属还是打? face、ice、egg、gift、hello用1-5给单词排序 2022春运火车票什么时候开始售票 春运时间什么时候开始 大橙子玩的我的世界当个村干部叫什么 我的世界“妹子庄园”是MOD还是,,, 动漫中的插曲 动漫插曲大神来帮忙解答下 ...连不了网了,说是调制解调器问题,要这样做,可还是不行,求大神指点 请问关于不思议游戏裏的歌? 三星手机,以前能连接wifi,今天突然不能扫描到任何wifi了,求大神指点 ...字也变成了灰色 不知道什么原因 求大神指点一二。。。急急急_百度... 无线路由器的质量会影响wifi网速吗? 苹果iPad连上wife后还是上不了网,但是苹果手机就可以,求大神指点! 小舅子结婚,做姐姐姐夫要花好几万不管有钱没钱都要。这种村礼真是坏到... 自来水大肠杆菌超标怎么办 ...的内容多余本身单元个的,如何将其显示到相邻空白的单元格中_百度知... 有关random.next(c#) 男生怎么才能快点长个子?我17周岁,身高才1米7,在这个年龄段太矮了,我愁... 如何长个子;不知道用什么啊 枸杞玉米面发糕操 作 心形玉米发糕怎么做 红色特别版iPhone8系列正式发布介绍_红色特别版iPhone8系列正式发布... 证件照免费换不同底色的方法 今天去照相馆通过抠图将证件照底色的白色替换成了蓝色,但是摄影师说... 一男一女聊天,男的总是不回信息,为什么? 请问“四分之三除以x乘三分之一等于十二分之五”怎么解 解方程。 (1)四分之一x加三分之一x等于三十五。 2 (2)(1一一) 解方程 四分之三x+十五分之一乘(5减3x)等于五分之二 四分之三x减二分之一x等于十五解方程四分之三x减二分之一x等于15解方程... 财务会用excel做什么 财务模型财务模型概述 财务用到什么excel 剑风传奇周边游戏 智慧引擎vivox9在哪里 张石川电影作品 打城隍导演简介