ホームページ  >  記事  >  データベース  >  Oracle の日付関数の概要と共有

Oracle の日付関数の概要と共有

WBOY
WBOY転載
2022-03-18 18:19:032302ブラウズ

この記事では、Oracle に関する関連知識を提供します。主に、SYSDATE、ADD_MONTHS、LAST_DAY、TRUNC、ROUND など、よく使用される日付関数関連の問題をいくつか紹介します。皆さんのお役に立てれば幸いです。

Oracle の日付関数の概要と共有

推奨チュートリアル: 「Oracle チュートリアル

システムの日付と時刻の関数

SYSDATE 関数

この関数にはパラメータがなく、システムの現在時刻を取得できます。

ケースコード:

select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;

結果:

##SYSTIMESTAMP 関数

この関数は、パラメーターを使用すると、タイムゾーン情報を含む、マイクロ秒単位の正確なシステムの現在時刻を取得できます。

ケースコード

select systimestamp from dual;
結果:

データベースタイムゾーン関数

DBTIMEZONE関数

この関数には入力パラメータがなく、データベースのタイムゾーンを返します。

ケースコード:

select dbtimezone from dual;
結果:

## 指定された月関数を日付に追加します:

# ADD_MONTHS(r,n) 関数

この関数は、指定された日付 r に月数 n を加算した後の日付を返します。ここで、#r: 指定された日付。

n: 加算する月数 N が負の数の場合、減算する月数を意味します。

ケースコード:

select to_char(add_months(to_date('2018-11-12', 'yyyy-mm-dd'), 1),
               'yyyy-mm-dd'),
       to_char(add_months(to_date('2018-10-31', 'yyyy-mm-dd'), 1),
               'yyyy-mm-dd'),
       to_char(add_months(to_date('2018-09-30', 'yyyy-mm-dd'), 1),
               'yyyy-mm-dd')
  from dual;

結果: (指定された日付が月の最終日の場合、新しい月の末日が返されます。新しい月が指定された月の日付、有効な日付が自動的に呼び出されます)

#月末日関​​数

LAST_DAY(r)関数

指定された r 日付の今月の最終日を返します。

ケースコード:
select last_day(sysdate) from dual;

結果:

指定された日付から 1 週間後の日付関数:

NEXT_DAY(r,c) 関数

指定された R 日付の翌週の、r 日付文字 (c: 曜日を示す) に対応する日付を返します。

ケースコード:
 select next_day(to_date('2018-11-12','yyyy-mm-dd'),'星期四') from dual;

結果:

指定された日付の特定の部分を返す関数

EXTRACT(時刻)関数

指定された時刻の年、月、日、分割された日付の部分を返します。

ケースコード:
select extract(year from timestamp '2018-11-12 15:36:01') as year,
       extract(month from timestamp '2018-11-12 15:36:01') as month,
       extract(day from timestamp '2018-11-12 15:36:01') as day,
       extract(minute from timestamp '2018-11-12 15:36:01') as minute,
       extract(second from timestamp '2018-11-12 15:36:01') as second
  from dual;

結果:

2 つの日付の間の月数を返します:

#MONTHS_BETWEEN(r1,r2) 関数

この関数は、r1 の日付と r2 の日付の直接の月を返します。 r1>r2 の場合は正の数を返し、r1 と r2 が異なる月の同じ日の場合は整数を返し、それ以外の場合は小数を返します。 r1

ケースコード:
select months_between(to_date('2018-11-12', 'yyyy-mm-dd'),
                      to_date('2017-11-12', 'yyyy-mm-dd')) as zs, --整数
       months_between(to_date('2018-11-12', 'yyyy-mm-dd'),
                      to_date('2017-10-11', 'yyyy-mm-dd')) as xs, --小数
       months_between(to_date('2017-11-12', 'yyyy-mm-dd'),
                      to_date('2018-10-12', 'yyyy-mm-dd')) as fs --负数
  from dual;
結果:

日付インターセプト関数

ROUND(r[, f]) 関数

は、f の形式に従って日付 r を丸めます。 f が入力されていない場合は、最も近い日に丸められます。

ケースコード:
select sysdate, --当前时间
       round(sysdate, 'yyyy') as year, --按年
       round(sysdate, 'mm') as month, --按月
       round(sysdate, 'dd') as day, --按天
       round(sysdate) as mr_day, --默认不填按天
       round(sysdate, 'hh24') as hour --按小时
  from dual;
結果:

##TRUNC(r[,f]) 関数

#日付 r を f の形式で切り捨てます。 f が入力されていない場合は、現在の日付がインターセプトされます。

ケースコード:

select sysdate, --当前时间
       trunc(sysdate, 'yyyy') as year, --按年
       trunc(sysdate, 'mm') as month, --按月
       trunc(sysdate, 'dd') as day, --按天
       trunc(sysdate) as mr_day, --默认不填按天
       trunc(sysdate, 'hh24') as hour --按小时
  from dual;

結果:

推奨チュートリアル: 「

Oracle Learning Tutorial

以上がOracle の日付関数の概要と共有の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。