直接执行与EXCU里执行,竟效果不同
SELECT EI.InspectDate,EI.InspectName,ET.EquipmentNumber,ET.EquipmentName,ET.ResponsibilityUser,
Division.DivisionName,EM.EquipLocation,EM.ItemDes,EM.InspectMethod,EM.InspectResult,EM.ResultValue,
case when datepart(hh,EI.InspectDate)<=12 then '上午' else '下午' end as FTIME
FROM Equip_Inspect EI JOIN Equip_InspectItem EM ON EI.Equip_InspectId=EM.Equip_InspectId JOIN InsPlan INS ON EI.InsPlanId=INS.InsPlanId
JOIN Equipment ET ON EI.EquipmentId=ET.EquipmentId LEFT JOIN Division ON ET.DivisionId=Division.DivisionId where 1=1 And INS.InsPlanName like '%d%' AND FORMAT(EI.InspectDate,'yyyy-MM')='2025-3'
在查询分析器中直接运行,可查询出结果
但赋值给变量,如通过EXECT (@SQL),查询不到数据,
原因竟是日期格式,‘yyyy-MM’在EXEC里执行是要严格匹配这样,改成'2025-03均可以执行。
另外通过复制变量,查询条件值一定要引号来区分下。

浙公网安备 33010602011771号