Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我想设置动态SQL(获取转换失败错误)_Sql_Sql Server_Sql Server 2008_Dynamic - Fatal编程技术网

我想设置动态SQL(获取转换失败错误)

我想设置动态SQL(获取转换失败错误),sql,sql-server,sql-server-2008,dynamic,Sql,Sql Server,Sql Server 2008,Dynamic,我想将以下查询设置为Query2 varchar(max)变量,但我得到了错误 Conversion Failed when converting the varchar value 'SELECT... 我想我可能遗漏了一些关于+或/的东西 不过我不太确定 Set @Query2 = 'SELECT tc.RequestID, cast(d2.CalendarYearNumber AS VARCHAR(4))' + 'P' + ' AS [Year], CAST(SUM(HHInco

我想将以下查询设置为Query2 varchar(max)变量,但我得到了错误

Conversion Failed when converting the varchar value 'SELECT...
我想我可能遗漏了一些关于+或/的东西 不过我不太确定

Set @Query2 = 'SELECT tc.RequestID, cast(d2.CalendarYearNumber AS VARCHAR(4))' + 'P' + ' AS [Year],
    CAST(SUM(HHIncomeBelow10k) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income Less than $10,000P],
    CAST(SUM([HHIncome10k-15k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $10,000 - $15,000P],
    CAST(SUM([HHIncome15k-20k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $15,000 - $20,000P],
    CAST(SUM([HHIncome20k-25k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $20,000 - $25,000P],
    CAST(SUM([HHIncome25k-30k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $25,000 - $30,000P],
    CAST(SUM([HHIncome30k-35k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $30,000 - $35,000P],
    CAST(SUM([HHIncome35k-40k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $35,000 - $40,000P],
    CAST(SUM([HHIncome40k-45k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $40,000 - $45,000P],
    CAST(SUM([HHIncome45k-50k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $45,000 - $50,000P],
    CAST(SUM([HHIncome50k-60k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $50,000 - $60,000P],
    CAST(SUM([HHIncome60k-75k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $60,000 - $75,000P],
    CAST(SUM([HHIncome75k-100k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $75,000 - $100,000P],
    CAST(SUM([HHIncome100k-125k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $100,000 - $125,000P],
    CAST(SUM([HHIncome125k-150k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $125,000 - $150,000P],
    CAST(SUM([HHIncome150k-200k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $150,000 - $200,000P],
    CAST(SUM(HHIncomeAbove200k) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $200,000 or moreP],
    CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k]
     + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] 
     + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] 
     + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS TotalP 
INTO #tmpHHPct
FROM Fact.DemographicBlockGroup d
INNER JOIN Report.RequestMSTGeoID_CBG tc ON d.GeographyID = tc.GEOID
INNER JOIN dim.Date d2 ON d.DateSK = d2.DateSK
WHERE CurrentRecord = 1
    AND tc.RequestID =  ' + @RequestID + ' 
GROUP BY tc.RequestID, d2.CalendarYearNumber'

假设@RequestID不是VARCHAR和某种数字类型,比如INT

试试这个:

Set @Query2 = 'SELECT tc.RequestID, cast(d2.CalendarYearNumber AS VARCHAR(4))' + 'P' + ' AS [Year],
    CAST(SUM(HHIncomeBelow10k) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income Less than $10,000P],
    CAST(SUM([HHIncome10k-15k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $10,000 - $15,000P],
    CAST(SUM([HHIncome15k-20k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $15,000 - $20,000P],
    CAST(SUM([HHIncome20k-25k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $20,000 - $25,000P],
    CAST(SUM([HHIncome25k-30k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $25,000 - $30,000P],
    CAST(SUM([HHIncome30k-35k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $30,000 - $35,000P],
    CAST(SUM([HHIncome35k-40k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $35,000 - $40,000P],
    CAST(SUM([HHIncome40k-45k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $40,000 - $45,000P],
    CAST(SUM([HHIncome45k-50k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $45,000 - $50,000P],
    CAST(SUM([HHIncome50k-60k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $50,000 - $60,000P],
    CAST(SUM([HHIncome60k-75k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $60,000 - $75,000P],
    CAST(SUM([HHIncome75k-100k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $75,000 - $100,000P],
    CAST(SUM([HHIncome100k-125k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $100,000 - $125,000P],
    CAST(SUM([HHIncome125k-150k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $125,000 - $150,000P],
    CAST(SUM([HHIncome150k-200k]) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $150,000 - $200,000P],
    CAST(SUM(HHIncomeAbove200k) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS [Income $200,000 or moreP],
    CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k]
     + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] 
     + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] 
     + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) / CAST(SUM(HHIncomeBelow10k + [HHIncome10k-15k] + [HHIncome15k-20k] + [HHIncome20k-25k] + [HHIncome25k-30k] + [HHIncome30k-35k] + [HHIncome35k-40k] + [HHIncome40k-45k] + [HHIncome45k-50k] + [HHIncome50k-60k] + [HHIncome60k-75k] + [HHIncome75k-100k] + [HHIncome100k-125k] + [HHIncome125k-150k] + [HHIncome150k-200k] + HHIncomeAbove200k) AS FLOAT) 
        AS TotalP 
INTO #tmpHHPct
FROM Fact.DemographicBlockGroup d
INNER JOIN Report.RequestMSTGeoID_CBG tc ON d.GeographyID = tc.GEOID
INNER JOIN dim.Date d2 ON d.DateSK = d2.DateSK
WHERE CurrentRecord = 1
    AND tc.RequestID =  ' + CAST(@RequestID AS VARCHAR(100)) + ' 
GROUP BY tc.RequestID, d2.CalendarYearNumber'

变量@RequestID的数据类型是什么?您能为我们提供一个或至少一些包含示例数据的临时表吗?为什么这甚至需要动态SQL?为什么要附加输入参数,而不是使用正确的强类型参数来保护自己不受SQL注入的影响?无论如何,答案很简单-
@RequestID
是一个整数,因此SQL Server正在尝试向该值添加
大字符串。你需要把变量转换成字符串,如果你想继续用一种让人害怕的方式,保持你的简历新鲜
+CONVERT(VARCHAR(11),@RequestID)+
。如果您喜欢您的工作,并且您的公司喜欢没有数据泄露,请阅读,然后单击。或者,如果您不喜欢我的风格,请在
SQL注入
上进行自己的搜索(您可能还需要
+'+''P'+
而不是
+'P'+