Click here to Skip to main content
15,885,366 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
How to get current month details in from date to todate wise in sql

My query:
SQL
SELECT  a.Staff_Id AS StaffID ,
        a.From_Date ,
        UPPER(b.Staff_Name) AS StaffName ,
        a.From_Date ,
        a.To_Date ,
        a.Total_Days AS TotalDays ,
        CONVERT(VARCHAR(24), Applied_Date, 113) AS Applied ,
        a.Reason AS Reason ,
        Status = ( CASE a.Status
                     WHEN 'I' THEN 'Applied'
                     WHEN 'A' THEN 'Approved'
                     WHEN 'R' THEN 'Rejected'
                     WHEN 'C' THEN 'Cancelled'
                     ELSE a.status
                   END ) ,
        Done_By = ( SELECT  UPPER(staff_name)
                    FROM    Accounts_Emp_Master emp
                    WHERE   emp.staff_id = Done_by
                  ) ,
        CONVERT(VARCHAR(11), Done_Date, 106) AS DoneDate
FROM    Accounts_LeaveEntry_New a ,
        Accounts_Emp_Master b
WHERE   a.Staff_Id = b.Staff_Id
        AND ( ( '2014-12-01' <= a.From_Date
                AND '2014-12-01' >= a.To_Date
              )
              OR ( '2014-12-01' >= a.From_Date
                   AND '2014-12-01' <= a.To_Date
                 )
            )
        AND ( b.Department = 3 )
ORDER BY a.From_Date ASC

above query wise

First Check:
SQL
(('2014-12-01' <= a.From_Date And '2014-12-01' >= a.To_Date) or ('2014-12-01' >=a.From_Date and '2014-12-01' <= a.To_Date))
this date wise above query check Last month record came
ex:
StaffID	StaffName	   Fromdate	ToDate	    TotalDays	Applied
1059	T T SIVAM	   29-Nov-14	7-Dec-14	7	24-Nov-14
1029	ROY CHOUDURY P K   1-Dec-14	31-Jan-15	54	13-Nov-14

I want result is (december)month first date record only
StaffID	StaffName	   Fromdate	ToDate	    TotalDays	Applied
1029	ROY CHOUDURY P K   1-Dec-14	31-Jan-15	54	13-Nov-14
Posted
Updated 18-Dec-14 0:58am
v3

Um.
10 Nov 2014 fails the '2014-12-01' <= a.From_Date but passes the '2014-12-01' >= a.From_Date
10 Dec 2014 passes the '2014-12-01' <= a.From_Date but fails the '2014-12-01' >= a.From_Date
10 Jan 2014 passes the '2014-12-01' <= a.From_Date but fails the '2014-12-01' >= a.From_Date
So any data at all will pass some part of your condition, it depends on the "to date" whether the whole will pass.

Isn't what you want really just :
SQL
'2014-12-01' BETWEEN a.From_Date AND a.To_Date
 
Share this answer
 
Comments
Nirmal Chandru 18-Dec-14 7:19am    
Hai sir,

Your send query wise check but Previous month date also came below that query me given.
query already given

StaffID StaffName Fromdate ToDate TotalDays Applied
1059 T T SIVAM 29-Nov-14 7-Dec-14 7 24-Nov-14
1029 ROY CHOUDURY P K 1-Dec-14 31-Jan-15 54 13-Nov-14

Result first record is last month record came so i don't want display that record.
this is my problem.
Thanks
I think your where condition should be

SQL
Where a.From_date>='2014-12-01' and a.To_date>a.From_date and a.To_Date>='2014-12-01'
 
Share this answer
 
Comments
Nirmal Chandru 18-Dec-14 7:45am    
above code wise i am worked but not came particularly 2014-12-01 this date result but came that month all data came.

I want particularly 2014-12-01 this date record only

Thanks
Nirmal Chandru 18-Dec-14 9:12am    
Thank you

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900