我想從2008/11/1至2008/11/10,用SQL語句按下列格式插入到數據表中;
   date
2008/11/1
2008/11/2
2008/11/3
2008/11/4
2008/11/5
2008/11/6
2008/11/7
2008/11/8
2008/11/9
2008/11/10
請教高手!在線等!

解决方案 »

  1.   

    用char型可以 Smalldatetime不行
      

  2.   

    DECLARE @TB TABLE(COL SMALLDATETIME)
    DECLARE @START SMALLDATETIME
    SET @START='2008/11/1'
    WHILE @START<='2008/11/10'
    BEGIN
      INSERT @TB SELECT @START
      SET @START=DATEADD(DAY,1,@START)
    ENDSELECT CONVERT(VARCHAR(10),COL,111) FROM @TB
    /*
    2008/11/01
    2008/11/02
    2008/11/03
    2008/11/04
    2008/11/05
    2008/11/06
    2008/11/07
    2008/11/08
    2008/11/09
    2008/11/10
    */
      

  3.   

    DECLARE @a table(id int identity(0,1),a int)INSERT @a SELECT TOP 31 0 FROM syscolumns s
    SELECT convert(varchar(10),dateadd(day,id,'2008-11-1'),111) FROM @a
    WHERE dateadd(day,id,'2008-11-1')
    BETWEEN '2008-11-1' AND '2008-11-10'--result
    /*---------- 
    2008/11/01
    2008/11/02
    2008/11/03
    2008/11/04
    2008/11/05
    2008/11/06
    2008/11/07
    2008/11/08
    2008/11/09
    2008/11/10(所影响的行数为 10 行)*/