我想设置动态SQL(获取转换失败错误)
我想将以下查询设置为Query2 varchar(max)变量,但我得到了错误我想设置动态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
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'+
)