伊莉討論區

標題: SQL Server 日曆製作 [打印本頁]

作者: chieh-zz    時間: 2014-10-15 02:37 PM     標題: SQL Server 日曆製作

本帖最後由 chieh-zz 於 2014-10-20 08:27 AM 編輯

SQL Server  日曆製作~

  1. DECLARE @Date DATETIME  
  2. Set @Date = GetDate()  
  3. DECLARE @Start DATETIME,@End DATETIME  
  4. DECLARE @Index INT  
  5. SET @Start = DATEADD(MONTH,DATEDIFF(MONTH,0,@Date),0)  
  6. SET @End = DATEADD(MONTH,1,@Start)  
  7. SET @Index = DATEDIFF(DAY,-1,@Start)%7 - 1;  
  8. SET @Start = DATEADD(mm,DATEDIFF(mm,0,@Date),0)   
  9. SET    @End = DATEADD(mm,1,@Start) - 1  
  10. SET    @Index= DATEDIFF(day,0,@Start)%7  
  11. ;WITH temp(date,row,col) AS  
  12. (  
  13.      SELECT date=1,row=@Index/7+1,col=@Index%7+1  
  14.      UNION ALL  
  15.      SELECT date=date+1,row=(@Index+date)/7+1,col=(@Index+date)%7+1  
  16.      FROM temp   
  17.      WHERE date <= DATEDIFF(DAY,@Start,@End)  
  18. )  

  19. SELECT  ISNULL(CONVERT(CHAR(2),[1]),'') AS 一,  
  20.          ISNULL(CONVERT(CHAR(2),[2]),'') AS 二,  
  21.          ISNULL(CONVERT(CHAR(2),[3]),'') AS 三,  
  22.          ISNULL(CONVERT(CHAR(2),[4]),'') AS 四,  
  23.          ISNULL(CONVERT(CHAR(2),[5]),'') AS 五,  
  24.          ISNULL(CONVERT(CHAR(2),[6]),'') AS 六,  
  25.          ISNULL(CONVERT(CHAR(2),[7]),'') AS 日  
  26. FROM temp  
  27. PIVOT  
  28. (      
  29.      MAX(date) FOR col IN ([2],[3],[4],[5],[6],[7],[1])  
  30. ) AS B
複製代碼






歡迎光臨 伊莉討論區 (http://097.eyny.com/) Powered by Discuz!