CREATE TABLE Branch
(
ID INT IDENTITY(1,1) NOT NULL,
BranchNO VARCHAR(10) NOT NULL,
DATE VARCHAR(15) NOT NULL,
)
GO
/***************************  插入测试数据 *************************/
INSERT INTO Branch
SELECT '部门一','2010-01-01' UNION ALL
SELECT '部门二','2010-01-02' UNION ALL
SELECT '部门三','2010-01-03' UNION ALL
SELECT '部门四','2010-01-04' UNION ALL
SELECT '部门五','2010-01-05' 
GO问题:
写一个存储过程,
把id都增加1,把部门*截取为部门,
把日期字段都增加一天,并以2010年01月01日显示返回。

解决方案 »

  1.   

    select id + 1 ,left(BranchNO,2),dateadd(dd,1,date)
    from tb
     where date<'2010-01-01'
     --where date > '2010-01-01'
      

  2.   

    create proc name  
    as  
    begin  
    update Branch set ID=ID+1,BranchNO=substring(cast(Branch.BranchNO as  char),1,2),DATE=DATE+1
    end  
    (无列名) (无列名) (无列名)
    2 部门 2010-01-02 00:00:00.000
    3 部门 2010-01-03 00:00:00.000
    4 部门 2010-01-04 00:00:00.000
    5 部门 2010-01-05 00:00:00.000
    6 部门 2010-01-06 00:00:00.000
    把date字段改成datetime类型
      

  3.   

    create proc procName
     @date datetime
    as 
    begin
    select id + 1 as id ,left(BranchNO,2) as BranchNO,dateadd(dd,1,date) as date
    from tb
    where date=@date
    end
    这样?
      

  4.   

    CREATE TABLE Branch
    (
    ID INT NOT NULL,
    BranchNO VARCHAR(10) NOT NULL,
    DATE VARCHAR(15) NOT NULL,
    )
    GO
    /*************************** 插入测试数据 *************************/
    INSERT INTO Branch
    SELECT 1,'部门一','2010-01-01' UNION ALL
    SELECT 2,'部门二','2010-01-02' UNION ALL
    SELECT 3,'部门三','2010-01-03' UNION ALL
    SELECT 4,'部门四','2010-01-04' UNION ALL
    SELECT 5,'部门五','2010-01-05'  
    GO
    update
     branch 
    set
     id=id+1,branchno=left(branchno,2),date=ltrim(year(dateadd(dd,1,date)))+'年'+ltrim(month(dateadd(dd,1,date)))+'月'+ltrim(day(dateadd(dd,1,date)))+'日'
     
    select * from Branchdrop table Branch/*ID          BranchNO   DATE
    ----------- ---------- ---------------
    2           部门         2010年1月2日
    3           部门         2010年1月3日
    4           部门         2010年1月4日
    5           部门         2010年1月5日
    6           部门         2010年1月6日(5 行受影响)*/
      

  5.   

    怎么还有一帖~~~!
    CREATE TABLE Branch
    (
    ID INT NOT NULL,
    BranchNO VARCHAR(10) NOT NULL,
    DATE VARCHAR(15) NOT NULL,
    )
    GO
    /*************************** 插入测试数据 *************************/
    INSERT INTO Branch
    SELECT 1,'部门一','2010-01-01' UNION ALL
    SELECT 2,'部门二','2010-01-02' UNION ALL
    SELECT 3,'部门三','2010-01-03' UNION ALL
    SELECT 4,'部门四','2010-01-04' UNION ALL
    SELECT 5,'部门五','2010-01-05'   
    GO
    create procedure updatebranch
    as
    begin
    update branch set id=id+1,branchno=left(branchno,2),date=stuff(stuff(convert(varchar(10),dateadd(d,1,date),120),8,1,'月'),5,1,'年')+'日'
    end
    go
    exec updatebranch
    go
    select * from branch
    /*
    ID          BranchNO   DATE
    ----------- ---------- ---------------
    2           部门         2010年01月02日
    3           部门         2010年01月03日
    4           部门         2010年01月04日
    5           部门         2010年01月05日
    6           部门         2010年01月06日(5 行受影响)*/