0

カスタムの日付範囲について問題があります。説明させてください。私たちの会社の月は、当月の21日から翌月の20日までカウントされます。当月に入社する従業員を知りたい場合は、通常、SQLを使用して見つけることができます

SELECT *
  FROM tblEmployeeMaster
  --CURRENT MONTH
  WHERE MONTH(DateOfJoining)=MONTH(GETDATE())  AND YEAR(DateOfJoining)=YEAR(GETDATE())

しかし、このカスタム日付範囲では、今月参加している従業員が見つかりません。たとえば、このシステムで、今月入社した従業員のリストを検索したい場合、結果は、前月に入社した従業員が 21 日から現在の月の 20 日までに表示されます。誰か助けてもらえますか?

4

2 に答える 2

0
SELECT *
FROM tblEmployeeMaster  
WHERE DateOfJoining BETWEEN CAST(CAST(YEAR(GETDATE()) AS VARCHAR) +'-'+ CAST(MONTH(GETDATE()) AS VARCHAR) +'-21' AS DATETIME)
AND CAST(CAST(YEAR(DATEADD(month,1,GETDATE())) AS VARCHAR) +'-'+ CAST(MONTH(DATEADD(month,1,GETDATE())) AS VARCHAR) +'-20' AS DATETIME)
于 2012-06-12T11:08:37.847 に答える