Sql 错误[22P02]:整数的输入语法无效:“”;

Sql 错误[22P02]:整数的输入语法无效:“”;,sql,sql-server,error-handling,Sql,Sql Server,Error Handling,我对以下问题有异议: select p."Index", p."PSN" || cast(p."PNR"as int) as ID , p."PSN" as Serie, cast(p."PNR"as int) as Numar , pr."PINDate" as r_gdate , replace((CASE WHEN pr."AsigEID"='10'

我对以下问题有异议:

select p."Index", p."PSN" || cast(p."PNR"as int) as ID
, p."PSN" as Serie, cast(p."PNR"as int) as Numar
, pr."PINDate" as r_gdate
, replace((CASE WHEN pr."AsigEID"='10' THEN pr."PrimSUM" ELSE 
    pr."PrimSUM"*valuta1."EXCValue" END)::text, '.', ',') as r_prima_lei
, replace(CASE WHEN pr."AsigEID"='2' 
        THEN cast(pr."PrimSUM" as decimal(12,2))
      ELSE CASE WHEN pr."AsigEID"='10' THEN cast(pr."PrimSUM"/valuta2."EXCValue"  as decimal(12,2))
           ELSE cast(pr."PrimSUM"*valuta1."EXCValue"/valuta2."EXCValue" as decimal(12,2))
           END 
    END::text, '.', ',') as r_prima_eur
, replace((CASE WHEN pr."AsigEID"='10' THEN cast(pr."AsigSUM" as decimal(12,2)) ELSE 
    cast(pr."AsigSUM"*valuta1."EXCValue"  as decimal(12,2)) END)::text, '.', ',') as r_sa_lei
, replace(CASE WHEN pr."AsigEID"='2' 
        THEN cast(pr."AsigSUM" as decimal(12,2))
      ELSE CASE WHEN pr."AsigEID"='10' THEN cast(pr."AsigSUM"/valuta2."EXCValue"  as decimal(12,2))
           ELSE cast(pr."AsigSUM"*valuta1."EXCValue"/valuta2."EXCValue" as decimal(12,2))
           END 
    END::text, '.', ',') as r_sa_eur
, pr."AsigStart", pr."AsigEnd", risc."Code", plink."Index"
from "PolsRisc" as pr 
left join "Pols" as p on p."Index" = pr."PID"
left join "Riscs" as risc on pr."RID"=risc."Index"
left join "PRLNK" plink on plink."PTID"= p."PTID" and plink."RID"= risc."Index"
LEFT JOIN "EXCValues" valuta1 ON valuta1."AtDate"=pr."AsigStart" and valuta1."EID"=pr."AsigEID"
LEFT JOIN "EXCValues" valuta2 ON valuta2."AtDate"=pr."AsigStart" and valuta2."EID"='2'
where pr."PINDate" > '2020-08-01' and pr."IsRezil" = 'false'
当我使用上面给出的条件(where语句)运行它时,一切正常。 但是,当我尝试使用更早的日期运行它时,例如pr.“PINDate>'2010-01-01'时,出现了一个错误22P02:整数的输入语法无效:“”。 我在其他帖子上读到cast()有问题,但我没有找到解决办法。
看起来某些内容与使用的数据类型不匹配。

请不要将数据作为图像发布,请将其作为格式化的表格
文本提供(就像您对预期结果所做的那样)或者作为DDL和DML语句;我们无法使用该映像进行测试,因此它对您没有帮助。此外,您自己尝试过解决该问题吗?为什么不起作用?示例表数据和预期结果是否真的匹配?例如,表数据没有代码15AXF。不要将其放在注释中@Alin IustinianToderita。您的问题和答案是:将您的尝试放在那里(并用文本替换图像)。您需要使用编辑器中的
{}
按钮@Alin IustinianToderita将其格式化为代码。我已经为您完成了此操作。另一方面,@Alin IustinianToderita,我建议您阅读以下内容:。
Pols
具有
P
而不是“a”的存在,以及带有
R
Riscs
,而不是“c”。使用良好的别名对于可读且易于维护的代码非常重要,我建议您阅读本文,了解更多原因。
SELECT Index, Code, Count(*)
FROM [database_name]
GROUP BY Code, Index
ORDER BY Index;