In Oracle, getting the first day of the month is very simple
✅ Basic Query
SELECT TRUNC(SYSDATE, 'MM') FROM dual;
🔎 Explanation
TRUNC(date, 'MM')→ returns 1st day of that monthTime will be 00:00:00
🧪 Examples
🔹 Current month first day
SELECT TRUNC(SYSDATE, 'MM') FROM dual;
🔹 For a specific date
SELECT TRUNC(TO_DATE('24-MAR-2026','DD-MON-YYYY'), 'MM')
FROM dual;
👉 Output: 01-MAR-2026
✅ First day of previous month
SELECT TRUNC(ADD_MONTHS(SYSDATE, -1), 'MM') FROM dual;
✅ First day of next month
SELECT TRUNC(ADD_MONTHS(SYSDATE, 1), 'MM') FROM dual;
🚀 Usage in WHERE clause
WHERE some_date >= TRUNC(SYSDATE, 'MM')
Tags:
Oracle