怎么根据日期来生成流水号?(流水号中不包括日期)

kpsh 2005-03-23 10:02:20
举个例子,今天的第一个流水号是0001,第二个是0002。明天的第一个号码又是0001。
各位高人,怎么办?
...全文
715 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mryu666 2005-03-23
  • 打赏
  • 举报
回复
to :softj(天地客人)
谢谢!!呵呵!这个要比我的那个简单哦!呵呵!又学会一样啊!呵呵
天地客人 2005-03-23
  • 打赏
  • 举报
回复
select
流水号 = right('000'+rtrim(isnull(max(cast(流水号 as int)),0)+1),4)
from

where
datediff(day,日期,getdate()) = 0
-------------------------------------------
同意,这样可行

替libin_ftsafe(子陌红尘) 回答:
datediff(day,日期,getdate()) =0 --取得就是当天日期,到4月20,当然也是0001开始了!

Mryu666 2005-03-23
  • 打赏
  • 举报
回复
to: libin_ftsafe(子陌红尘)
小弟想问一下 datediff(day,日期,getdate()) = 0
这么写比如3月20号的流水号到0008,那4月20号的时候生成的第一个流水号是0009 还是0001
davytao1018 2005-03-23
  • 打赏
  • 举报
回复
select @newid=case when datediff(day,日期,getdate()) = 0 then 流水号 = right('000'+rtrim(isnull(max(cast(流水号 as int)),0)+1),4) else 流水号=0001 end from 表
子陌红尘 2005-03-23
  • 打赏
  • 举报
回复
select
流水号 = right('000'+rtrim(isnull(max(cast(流水号 as int)),0)+1),4)
from

where
datediff(day,日期,getdate()) = 0
Mryu666 2005-03-23
  • 打赏
  • 举报
回复
可以在表里加个日期的字段!每次判断以下!

这样就能取出来!
select isnull(max(流水号),0)+1 as 流水号 from 表 where convert(char(8),日期,112)=
convert(char(8),getdate(),112)
kpsh 2005-03-23
  • 打赏
  • 举报
回复
谢谢xiaos139(小^^S),不过我需要的是不包含 年月编号的,仅仅就是后面的流水号。
xiaos139 2005-03-23
  • 打赏
  • 举报
回复
CREATE Proc p_Getpaperno
@head varchar(3) = 'In'
AS
/*
編碼原則---- 單據頭(2位)+年(2位)+月(2位)+流水碼(3位)
*/
Declare @year varchar(2),@month varchar(2),@i varchar(3),@paperno varchar(14)
Select @year = Right(datepart(year,Getdate()),2) --年
Select @month = [month ] from papercode where paperhead = @head
if @month <> Convert(varchar(2),datepart(month,Getdate())) --月
begin
Update PaperCode
set [month] = Convert(varchar(2),datepart(month,Getdate()))

Select @month = Convert(varchar(2),datepart(month,Getdate()))
end
if len(@month) = 1
set @month = '0' + @month
Select @i = papercode from papercode where paperhead = @head
if len(@i) = 1
set @i = '00' + @i
if len(@i) = 2
set @i = '0' + @i

Update PaperCode
Set papercode = papercode + 1,Tpaperno = @head + @year + @month + @i
where paperhead = @head

select Tpaperno from PaperCode where paperhead = @head
到月了,到天的自己改

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧