动态SQL枢纽(与CONVERT的DateField(Dynamic SQL Pivot (with

2019-10-22 11:36发布

我试图做的,我已经成功地在下面的代码只能做使用(date_time_hour)一个支点。

然而,因为我需要用我一直在使用YYY-MM-DD回到我的日期值:

CONVERT(CHAR(10),tz_date_hour, 20)

当我在下面使用它,我无法回到正确的价值观。

我认为这会是这样的:

SET @sql = N'SELECT *
FROM (
        SELECT ivr_reason,' +  
CONVERT(CHAR(10),tz_date_hour, 20) + ', total_usage
FROM [Genesys_var].[dbo].[app_subcf_results2]) AS D

PIVOT(MAX(total_usage) FOR tz_date_hour IN(' + @cols + N')) AS P;';

EXEC sp_executesql @sql;
GO

但它似乎没有工作任何我无法找到任何有关。

Answer 1:

你并不需要使用+在SELECT子句。 应该是这样的:

SET @sql = N'SELECT *
FROM (
        SELECT ivr_reason,  
               CONVERT(CHAR(10),tz_date_hour, 20) AS tz_date_hour, 
               total_usage
        FROM [Genesys_var].[dbo].[app_subcf_results2]
      ) AS D

PIVOT(MAX(total_usage) FOR tz_date_hour IN(' + @cols + N')) AS P;';

EXEC sp_executesql @sql;
GO


文章来源: Dynamic SQL Pivot (with CONVERT DateField
标签: mysql sql pivot