Suppose You have following data in database)
From :03-03-2016 To:04-03-2016
Then your query will be like
IF EXISTS(SELECT * FROM WorkFromHome WHERE UserId=@Id AND ((@FromDate >= FromDate and ToDate) OR (@ToDate <= FromDate and ToDate)))
BEGIN
RAISERROR('Already Applied',16,1);
return;
END
As it can be the fromdate itself, so between won't work.
Let me know if you have further query.