我正在嘗試根據月份過濾日期的資料。我在這里經歷了不同的解決方案,但無法讓它發揮作用。我正在嘗試過濾月份是否小于三月以使用 2020 年,否則獲取 2021 年的資料。
我根據不同的反饋嘗試了 2 種解決方案:
select *
from db.table1
where
(case
(to_char(commit_date, 'mm')<'03') then
(to_char(commit_date, 'mm')= (to_char(sysdate, 'mm')-1)
and to_char(commit_date, 'yyyy') = '2020')
else
(to_char(commit_date, 'mm')= (to_char(sysdate, 'mm')-1)
and to_char(commit_date, 'yyyy') = '2021')
end)
這給 mme 無效的關系運算子。
另一種解決方案
select *
from db.table1
where
(
(to_char(commit_date, 'mm')<'03' and to_char(commit_date, 'yyyy') = '2020') or (to_char(commit_date, 'yyyy') = '2021'))
好像沒有過濾。
謝謝,山姆
uj5u.com熱心網友回復:
您可以嘗試使用TO_DATE大于等于2020-01-01小于等于年等于 20212020-03-01的函式EXTRACT
SELECT *
FROM db.table1
WHERE
(commit_date >= TO_DATE('2020-01-01', 'yyyy-mm-dd') AND commit_date < TO_DATE('2020-03-01', 'yyyy-mm-dd'))
OR
EXTRACT(YEAR FROM commit_date) = 2021
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/428095.html
