Когда я выполняю этот код sql:
SELECT ROW_NUMBER() OVER (ORDER BY schdate), ACCT , SCHDATE AS DATES, NULL AS ORS FROM AMORT WHERE ACCT = '0000360' AND CYCLE = '0001' AND principal <> '0.00' UNION ALL SELECT ROW_NUMBER() OVER (ORDER BY ddate), ACCT, DDATE AS DATES, OR_NO AS ORS FROM LEDGER WHERE (ACCT = '0000360' AND CYCLE = '0001') AND (t_code = '10' OR t_code = '11' OR t_code = '12' OR t_code = '13') ORDER BY DATES
У меня есть этот результат. Но как я могу достичь дней между датами?
ACCT | DATES | ORS ------------------------------------- 0000360 |2014-07-26 | (NULL) 0000360 |2014-08-02 | (NULL) 0000360 |2014-08-05 | 011290000113 0000360 |2014-08-09 | (NULL) 0000360 |2014-08-16 | (NULL) 0000360 |2014-08-19 | 011290000559
Я хотел бы получить дни между датами, как показано ниже.
ACCT | DATES | ORS ------------------------------------- ====================== 0000360 |2014-07-26 || (NULL) 0000360 |2014-08-02 || (NULL) ====================== 0000360 |2014-08-05 | 011290000113 ====================== 0000360 |2014-08-09 || (NULL) 0000360 |2014-08-16 || (NULL) ====================== 0000360 |2014-08-19 | 011290000559
Получайте даты без ORS и считайте дни между этим днем, например:
ACCT | DATES | ORS ------------------------------------- ====================== 0000360 |2014-07-26 || (NULL) 0000360 |2014-08-02 || (NULL) ======================
Таким образом, между 2014-07-26 и 2014-08-02 считаются дни 7
====================== 0000360 |2014-08-09 || (NULL) 0000360 |2014-08-16 || (NULL) ======================
и для этого 2014-08-09 и 2014-08-16 дни отсчета 7