Попробуйте:
SELECT (CASE
WHEN EXTRACT(day FROM hiredate) < 15
THEN EXTRACT(month FROM hiredate)
ELSE (EXTRACT(month FROM hiredate) + 1)
END) AS HireMonth
FROM employee
WHERE empno = <your number>
Если вы хотите месяц по имени, то:
SELECT (CASE
WHEN EXTRACT(day FROM hiredate) < 15
THEN TO_CHAR(hiredate, 'Month')
ELSE TO_CHAR(ADD_MONTHS(hiredate, 1), 'Month')
END) AS HireMonth
FROM employee
WHERE empno = <your number>
РЕДАКТИРОВАТЬ: Поскольку вы не можете использовать CASE, то здесь есть альтернатива (хотя этогораздо лучше использовать CASE ):
SELECT TO_CHAR(hiredate, 'Month') AS hireMonth
FROM employee
WHERE EXTRACT(day FROM hiredate) < 15
AND empno = <your number>
UNION ALL
SELECT TO_CHAR(ADD_MONTHS(hiredate, 1), 'Month') AS hireMonth
FROM employee
WHERE EXTRACT(day FROM hiredate) >= 15
AND empno = <your number>
Надеюсь, это поможет ...