注册 登录
编程论坛 ASP.NET技术论坛

用SQL语句拼一个流水号

scindy 发布于 2008-08-21 11:30, 1453 次点击
问一个SQL问题,我想用SQL语句拼一个流水号,比如开始默认值是0000,然后每执行一次这个语句就加 1 ,第一次是0001,第二次是0002,依次类推,声明不用数据库字段.
5 回复
#2
xiaochongzi2008-08-21 13:09
不用数据库字段,那你的值存哪呢?你的值从哪取呢?
#3
tidusff122008-08-21 13:35
你可以先查一下数据库,返回一个count 也就是有多少条数据
然后给count + 1

有一个方法是PadLeft(),可以给左边补0,这样就可以实现0000的效果,
通过count+1 判断你需要补多少个零,再组装一下就可以了

比如:
//找出当前月份,不足两位左边补0
string month = DateTime.Now.Month.ToString();
month = month.PadLeft(2,'0');
#4
smoon2008-08-21 15:26
那么如果其中删除了一个你打算怎么办?
#5
scindy2008-08-21 15:31
谢谢了,我换了一种方法实现~~

我以前想的那个办法实在不能实现了`~~
#6
snipen2008-08-22 17:03
declare @Str varchar(25)
declare @Index int
declare @Diff int
set @Index=0
while(@Index<@Count)
 begin
   set @Diff=4-Len(@Index)
   set @Str=''
   while @Diff>0
    begin
      set @Str=@Str+'0'
      set @Diff=@Diff-1
    end
    set @Str=@Str+Str(@Index)
    set @Index=@Index+1
    print @Str
 end

说明@Count是传进来的参数,没有测试,可能会有错误的地方,,先下了,
1