我的日期格式為 2022-05-26T13:50:44.000Z、2018-10-05T18:14:00.000Z。我希望僅從該列中選擇 2022 年之后的日期。但是當我使用下面的查詢時,它根本不起作用。
to_date(TO_CHAR(TRUNC(Paaf.last_update_date),'MM-DD-YYYY'),'MM-DD-YYYY') >= TO_DATE('01-01-2022','MM-DD-YYYY')
如何比較日期,以便僅選擇 01-01-2022 之后的日期
如果我這樣做Paaf.last_update_date like ' 22%'了,我會得到輸出,無論如何我可以做'% Current year %' for like to work
uj5u.com熱心網友回復:
您無需截斷然后轉換為字串并轉換回日期。
只需將該DATE列與日期文字進行比較:
SELECT *
FROM table_name paaf
WHERE paaf.last_update_date >= DATE '2022-01-01'
如果您想要2022-01-01 00:00:00 之后的日期,請使用而>不是>=.
uj5u.com熱心網友回復:
假設日期部分格式與時區一致。按以下方式使用 cast 和 to_utc_timestamp_tz oracle 函式。
與 x as ( select CAST(to_utc_timestamp_tz('2022-05-26T13:50:44.000Z') AS DATE) as sample_year from dual ) select * from x where sample_year > TO_DATE('2021-01-01','YYYY- MM-DD');
uj5u.com熱心網友回復:
剛剛做了一些檢查如下,它應該能夠提供幫助。
create table paaf(last_update_date timestamp);?
insert into paaf values(TIMESTAMP '2021-12-01 05:30:00');
1 行受影響
insert into paaf values(TIMESTAMP '2022-12-01 05:30:00');
1 行受影響
insert into paaf values(DATE '2022-01-01');
1 行受影響
select * from paaf where last_update_date >= TIMESTAMP '2022-01-01 00:00:00';| LAST_UPDATE_DATE | | :------------------------ | | 01-DEC-22 05.30.00.000000 | | 01-JAN-22 00.00.00.000000 |
db<>在這里擺弄
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/481644.html
標籤:sql 甲骨文 oracle-sqldeveloper 双出版商
下一篇:OracleSQL選擇日期
