Создание даты в SQL между двумя датами
Я работаю в браузере БД для SQLite и написал запрос:
SELECT "Trade Details 2".TRADE_TYPOLOGY,
"Trade Details 2".CONTRACT_ID,
DATE("Trade Details 2".START_DATE) as START_DATE,
DATE(substr("Trade Details 2".MATURITY_DATE, 0, 5) || '-' ||
substr("Trade Details 2".MATURITY_DATE, 5,2) || '-' ||
substr("Trade Details
2".MATURITY_DATE, 7, 9)) as MATURITY_DATE,
"Trade Details 2".NOTIONAL1,
"Trade Details 2".COUNTERPARTYNAME,
"Trade Details".TERM
FROM "Trade Details 2"
JOIN "Trade Details"
WHERE "Trade Details 2".CONTRACT_ID="Trade Details".FC_ID
ORDER BY "Trade Details 2".MATURITY_DATE desc
Моя цель состоит в том, чтобы оценить MATURITY_DATE, чтобы при выполнении запроса SQL я получал сделки только с MATURITY_DATE в период между 2018-06-22 и 2099-12-30. Однако я не совсем уверен, какую строку добавить для достижения этой цели. Тем не менее, когда я добавил строку
2099-12-30>"Trade Details 2".MATURITY_DATE>2018-06-22
выше моего заказа оператором и ниже моего оператора where я не получил никакого вывода при запуске. Как бы я сделал это правильно?
1 ответ
Я думаю, что вы можете попробовать использовать AND
с BETWEEN
в where
caluse.
SELECT "Trade Details 2".TRADE_TYPOLOGY,
"Trade Details 2".CONTRACT_ID,
DATE("Trade Details 2".START_DATE) as START_DATE,
DATE(substr("Trade Details 2".MATURITY_DATE, 0, 5) || '-' ||
substr("Trade Details 2".MATURITY_DATE, 5,2) || '-' ||
substr("Trade Details
2".MATURITY_DATE, 7, 9)) as MATURITY_DATE,
"Trade Details 2".NOTIONAL1,
"Trade Details 2".COUNTERPARTYNAME,
"Trade Details".TERM
FROM "Trade Details 2"
JOIN "Trade Details"
WHERE
"Trade Details 2".CONTRACT_ID="Trade Details".FC_ID
AND
"Trade Details 2".MATURITY_DATE BETWEEN '2018-06-22' AND '2099-12-30'
ORDER BY "Trade Details 2".MATURITY_DATE desc
или использовать больше и меньше чем
SELECT "Trade Details 2".TRADE_TYPOLOGY,
"Trade Details 2".CONTRACT_ID,
DATE("Trade Details 2".START_DATE) as START_DATE,
DATE(substr("Trade Details 2".MATURITY_DATE, 0, 5) || '-' ||
substr("Trade Details 2".MATURITY_DATE, 5,2) || '-' ||
substr("Trade Details
2".MATURITY_DATE, 7, 9)) as MATURITY_DATE,
"Trade Details 2".NOTIONAL1,
"Trade Details 2".COUNTERPARTYNAME,
"Trade Details".TERM
FROM "Trade Details 2"
JOIN "Trade Details"
WHERE
"Trade Details 2".CONTRACT_ID="Trade Details".FC_ID
AND
"Trade Details 2".MATURITY_DATE > '2018-06-22' AND "Trade Details 2".MATURITY_DATE < '2099-12-30'
ORDER BY "Trade Details 2".MATURITY_DATE desc