1. ホーム
  2. sql

OracleでSQLを使用して現在の年を取得するにはどうすればよいですか?

2023-08-29 08:21:25

質問

SQL文の変数として現在の年を追加する必要がありますが、SQLを使用して現在の年を取得するにはどうすればよいですか。

すなわち

  間 
    to_date('01/01/

**現在の年**です。

 00:00:00', 'dd/mm/yyyy hh24:mi:ss')
    AND
    to_date('31/12/)

**現在の年**

 23:59:59', 'dd/mm/yyyy hh24:mi:ss')

どのように解決するのですか?

to_charを使用します。

select to_char(sysdate, 'YYYY') from dual;

あなたの例では、次のようなものを使うことができます。

BETWEEN trunc(sysdate, 'YEAR') 
    AND add_months(trunc(sysdate, 'YEAR'), 12)-1/24/60/60;

比較値はご要望の通りです。

select trunc(sysdate, 'YEAR') begin_year
     , add_months(trunc(sysdate, 'YEAR'), 12)-1/24/60/60 last_second_year
from dual;

BEGIN_YEAR  LAST_SECOND_YEAR
----------- ----------------
01/01/2009  31/12/2009