Мне просто нужно показать ORD_DT после применения в течение 4 месяцев.
например. если APP_DT равен 2018/01/01, он будет отображать 4 строки, а ORD_DT - 2018/01/01, 2018/02/01, 2018/03/01 и 2018/04/01.
Я попробовал запрос ниже, но я получил неправильное сообщение "ORA-01830: изображение в формате даты заканчивается перед преобразованием всей входной строки".
Может ли кто-нибудь помочь? Спасибо.
select a.id, a.app_mon
, to_date(ORD_DT, 'YYYY-MM') as ORD_DT
, add_months(to_date(ORD_DT, 'YYYY-MM'),3) as IN_3_MONTHS
from CN_NEW_APPLICANT
where a.id = 'CN00300323'
and h.dist_id = a.id
and to_date(ORD_DT, 'YYYY-MM') < to_date(add_months(a.app_mon,3),'YYYY/MM/DD');
Данные для вашей справки:
+------------+------------+------------+-------------+
| ID | APP_DT | ORD_DT | IN_3_MONTHS |
+------------+------------+------------+-------------+
| CN00300323 | 2018/01/01 | 2018/01/01 | 2018/04/01 |
| CN00300323 | 2018/01/01 | 2018/02/01 | 2018/04/01 |
| CN00300323 | 2018/01/01 | 2018/03/01 | 2018/04/01 |
| CN00300323 | 2018/01/01 | 2018/04/01 | 2018/04/01 |
| CN00300323 | 2018/01/01 | 2018/05/01 | 2018/04/01 |
| CN00300323 | 2018/01/01 | 2018/06/01 | 2018/04/01 |
| CN00300323 | 2018/01/01 | 2018/07/01 | 2018/04/01 |
| CN00300323 | 2018/01/01 | 2018/08/01 | 2018/04/01 |
| CN00300323 | 2018/01/01 | 2018/09/01 | 2018/04/01 |
| CN00300323 | 2018/01/01 | 2018/10/01 | 2018/04/01 |
| CN00300323 | 2018/01/01 | 2018/11/01 | 2018/04/01 |
| CN00300323 | 2018/01/01 | 2018/12/01 | 2018/04/01 |
+------------+------------+------------+-------------+
Примечание:
APP_DT означает дату начала месяца, к которому присоединился один клиент, и его формат даты.
ORD_DT - это месяц, когда один покупатель купил, и его формат - строка (ГГГГ-ММ). Но я показал данные в формате даты выше.