年月日+用户工号+5位流水号如 110415+1234+00001
流水号从110415123400001开始,
如果在当天之内插入此流水号,则此流水号递增,
如果不是在当天时间,必须从110416123400001开始递增
这个怎么实现?
流水号从110415123400001开始,
如果在当天之内插入此流水号,则此流水号递增,
如果不是在当天时间,必须从110416123400001开始递增
这个怎么实现?
读取流水号按你的记录,肯定是15位的,假定读出来存储在string类型的ID字段里。如果读出来不是string类型,则使用Convert.ToStrting(),强制转换为string类型。string ID = "110415123400001";
string year = ID.Substring(0, 2);
string month = ID.Substring(2, 2);
string day = ID.Substring(4, 2);
string yaerNow = Convert.ToString(DateTime.Now.Year).Substring(2, 2);
string monthNow = Convert.ToString(DateTime.Now.Month);
string dayNow = Convert.ToString(DateTime.Now.Day);
if (year != yaerNow || month != monthNow || day != dayNow)
{
//判断是否创建新的流水号
}建议不要再上面的IF条件里写创建流水号的代码,而是作为一个判断,比如有一个“全局变量”NewID = false,如果为True则跳转如添加00001,如果为false则继续……
Application("流水号对应的日期")if Now = 当天 then
Application("流水号")=Application("流水号")+1
else
Application("流水号")=1
Application("流水号对应的日期")= newData
end if
declare @id varchar(20)
set @id=convert(char(6),getdate(),12)+'1234'
if exists(select 1 from tablename where id like @id+'%')
begin
select @id=@id+right((right(max(id),4)+10001),4) from tablename where id like @id+'%'
end
else
set @id=@id+'0001'