One way to solve the problem is to create the table to check against.
With CTE(dates) as(
SELECT Min(dates) as dates
FROM Dates
UNION ALL
SELECT dates + 1 as dates
FROM CTE
WHERE dates <= (SELECT Max(dates) FROM dates)
)
SELECT c.dates
FROM CTE c
left outer join dates d
ON c.dates = d.dates
WHERE d.dates IS NULL
Here I'm assuming a table "dates" with one column "dates" where you want to find the missing values between the first date and the last date.
It's easy enough to change the query to check between the first date and the current date by changing the condition in the second part of the CTE to sysdate or getdate instead of max(dates).
It's admittedly crude, but should work.
Don't forget to remove the time portion from the date if you want the query to work properly.
Trunc(dates) in Oracle, or CONVERT(VARCHAR(10),dates,112) in SQLServer.