特定の評価を得た過去 2 年間に採用されたすべての従業員を引き出すコードを設定しています。YEAR(NOW()) 関数を調べていますが、設定に苦労しています。ユーザーがクエリにアクセスした時点からデータを取得する必要があるため、NOW 関数を使用する必要があります。評価は毎年 2 月に完了します (つまり、2013 年の評価は 2014 年 2 月に完了します)。
YEAR(NOW()-12) but it
このように今日実行すると、2013 年がまだ完了していないため、2012 年と 2011 年の評価を引き戻すことになります。
私のコード全体は次のようになります。
SELECT dbo_v_TMS_QPR_01_Score.TMS_ID, dbo_v_TMS_QPR_01_Score.QPR_Year, dbo_v_TMS_QPR_01_Score.Final_QPR_Score
FROM O867IA_VJOBHST INNER JOIN dbo_v_TMS_QPR_01_Score ON O867IA_VJOBHST.SYS_EMP_ID_NR = dbo_v_TMS_QPR_01_Score.GEMSID
WHERE (((dbo_v_TMS_QPR_01_Score.Final_QPR_Score)>="1.25") AND ((O867IA_VJOBHST.EMP_ACN_TYP_CD)="HIR") AND ((O867IA_VJOBHST.REC_EFF_STT_DT)=Year(Now()-12)))
GROUP BY dbo_v_TMS_QPR_01_Score.TMS_ID, dbo_v_TMS_QPR_01_Score.QPR_Year, dbo_v_TMS_QPR_01_Score.Final_QPR_Score;
しかし、エラーが発生し続けます: INCONSISTENT DATATYPES: EXPECTED DATE GOT NUMBER (#932)