Я работаю над датами и получил требование таким образом. В случае, если дата найма составляет от 1-го числа до 7-го числа месяца (например, 3 июля 2014 года), дата найма должна быть 1 июля 2014 года. В случае, если дата найма после 7-го числа месяца (например, 8 июля , 2014. Дата найма должна быть в следующем месяце 1 августа 2014 года. Итак, я подготовил SQL с использованием месяцев и раундов, но не дает желаемых результатов. Не могли бы вы помочь мне изменить запрос?Округление дат в оракуле
SELECT AST.X_REC_DT,
CASE
WHEN (to_char(AST.X_REC_DT, 'DD') <= 7)
THEN ROUND(to_date(add_months(AST.X_REC_DT, -1)))
when (to_char(AST.X_REC_DT, 'DD') > 7)
then ROUND(to_date(add_months(AST.X_REC_DT, 1)))
END AS RTD
FROM EMPLOYEE AST WHERE AST.ROW_ID = '1-EWR'
Спасибо.
Ницца, логика превосходит SQL. :) Но что такое 'EWR'? –
@GergelyBacso «1-EWR» пришел к вопросу OP. – Sentinel
@Sentinel: Фантастический. Большое спасибо ! Не продумал этот угол :) –