Skip to main content
0+1>>>n+1 edited
Source Link

Using CAST function instead of CONVERT also helps:

WITH cte_days(n, weekd, ddmmyyyy) 
AS (    
 SELECT 0, DATENAME(DW, '09-03-1983'),CAST(CAST('09-03-1983' AS DATE) AS DATETIME)       
        UNION ALL   
 SELECT 0+1n+1, DATENAME(weekday, DATEADD(day, 1, '09-03-1983')), DATEADD(day, 1, '09-03-1983')                        
 FROM cte_days                                                                  
    WHERE n < 10                                                                        
)   
SELECT * FROM cte_days 

Using CAST function instead of CONVERT also helps:

WITH cte_days(n, weekd, ddmmyyyy) 
AS (    
 SELECT 0, DATENAME(DW, '09-03-1983'),CAST(CAST('09-03-1983' AS DATE) AS DATETIME)       
        UNION ALL   
 SELECT 0+1, DATENAME(weekday, DATEADD(day, 1, '09-03-1983')), DATEADD(day, 1, '09-03-1983')                        
 FROM cte_days                                                                  
    WHERE n < 10                                                                        
)   
SELECT * FROM cte_days 

Using CAST function instead of CONVERT also helps:

WITH cte_days(n, weekd, ddmmyyyy) 
AS (    
 SELECT 0, DATENAME(DW, '09-03-1983'),CAST(CAST('09-03-1983' AS DATE) AS DATETIME)       
        UNION ALL   
 SELECT n+1, DATENAME(weekday, DATEADD(day, 1, '09-03-1983')), DATEADD(day, 1, '09-03-1983')                        
 FROM cte_days                                                                  
    WHERE n < 10                                                                        
)   
SELECT * FROM cte_days 
Source Link

Using CAST function instead of CONVERT also helps:

WITH cte_days(n, weekd, ddmmyyyy) 
AS (    
 SELECT 0, DATENAME(DW, '09-03-1983'),CAST(CAST('09-03-1983' AS DATE) AS DATETIME)       
        UNION ALL   
 SELECT 0+1, DATENAME(weekday, DATEADD(day, 1, '09-03-1983')), DATEADD(day, 1, '09-03-1983')                        
 FROM cte_days                                                                  
    WHERE n < 10                                                                        
)   
SELECT * FROM cte_days