この記事では、Oracle に関する関連知識を提供します。主に、SYSDATE、ADD_MONTHS、LAST_DAY、TRUNC、ROUND など、よく使用される日付関数関連の問題をいくつか紹介します。皆さんのお役に立てれば幸いです。
推奨チュートリアル: 「Oracle チュートリアル 」
この関数にはパラメータがなく、システムの現在時刻を取得できます。
ケースコード:
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
結果:
select systimestamp from dual;
select dbtimezone from dual;
## 指定された月関数を日付に追加します:
# ADD_MONTHS(r,n) 関数
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 ROUND(r[, f]) 関数 ケースコード: Oracle Learning Tutorialケースコード:
日付インターセプト関数
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;
は、f の形式に従って日付 r を丸めます。 f が入力されていない場合は、最も近い日に丸められます。
ケースコード:
##TRUNC(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;
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 の日付関数の概要と共有の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。