我是靠谱客的博主 烂漫小鸭子,最近开发中收集的这篇文章主要介绍如何用一个SQL语句产生一系列流水编号,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 

Q:如何用一个SQL语句产生一系列流水编号,格式如下:
20070327-0001
20070327-0002
20070327-0003
20070327-0004
20070327-0005
......
20070328-0001
20070328-0002
......

A:

 

select  replace(convert(char(10),getdate(),120), '- ', ' ')+'-'+right(10000+ROW_NUMBER() over(order by a.id),4)
from sysobjects a,sysobjects b
/*
------------------------------------------------------------------------------------------
2008-10-27-0001
2008-10-27-0002
2008-10-27-0003
2008-10-27-0004
2008-10-27-0005
2008-10-27-0006
2008-10-27-0007
2008-10-27-0008
2008-10-27-0009
2008-10-27-0010
2008-10-27-0011
2008-10-27-0012
2008-10-27-0013
2008-10-27-0014
2008-10-27-0015
2008-10-27-0016
2008-10-27-0017
2008-10-27-0018
2008-10-27-0019
2008-10-27-0020
2008-10-27-0021
2008-10-27-0022
2008-10-27-0023

....
*/

 

A2:

 

declare @tb table
(
   
[value] nvarchar(50)
)

declare @date nchar(9)
declare @n int
set @date = convert(char(8),getdate(),112) + '-'
set @n = 1

while @n < 10
begin
   
insert into @tb values(@date + right('0000'+ cast(@n as nvarchar),4))
   
set @n = @n + 1
end

select * from @tb

20081027-0001
20081027-0002
20081027-0003
20081027-0004
20081027-0005
20081027-0006
20081027-0007
20081027-0008
20081027-0009

 

A3:

 

select  replace(convert(char(10),getdate(),120), '-', '')+'-'+right(10000+ROW_NUMBER() over(order by a.id),4)
from sysobjects a,sysobjects b

 

20081027-0001
20081027-0002
20081027-0003
20081027-0004
20081027-0005
20081027-0006
20081027-0007
20081027-0008
20081027-0009
、、、、、、、

 

 

 

最后

以上就是烂漫小鸭子为你收集整理的如何用一个SQL语句产生一系列流水编号的全部内容,希望文章能够帮你解决如何用一个SQL语句产生一系列流水编号所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(70)

评论列表共有 0 条评论

立即
投稿
返回
顶部