Skip to content

Archives

  • 2022年1月
  • 2021年12月
  • 2021年11月
  • 2021年10月
  • 2021年9月

Categories

  • カテゴリーなし
Trend RepositoryArticles and guides
Articles

Tutorial for Oracle DBA

On 1月 1, 2022 by admin
Formating DATES in Oracle
  • Date Functions and Operators.
  • SYSDATE 例
  • CURRENT_DATE 例
  • SYSTIMESTAMP 例
  • DATE FORMAT MODELS
  • TO_DATE 例
  • ADD_MONTHS
  • MONTHS_BETWEEN
  • LAST_DAY
  • NEXT_DAY
  • EXTRACT

Date Functions and Operators.

システムの日付と時刻を確認するには、次の関数を使用します。

CURRENT_DATE :セッション タイム ゾーンの現在の日付を、データ型
DATE
SYSDATE : 現在の日付と時刻を返します。
SYSTIMESTAMP :SYSTIMESTAMP 関数は秒単位の小数部とタイムゾーン
のシステム日付も含めてデータベースの日付として返します。 戻り値のタイプはTIMESTAMP WITH TIME ZONEです。

SYSDATE 例

現在のシステムの日付と時刻を見るには、次のクエリを実行します。

select sysdate from dual;
SYSDATE
——-
8-AUG-03

日付を表示する形式はNLS_DATE_FORMATパラメーターによって決まります。

例えば、NLS_DATE_FORMATを次の形式に設定します。

alter session set NLS_DATE_FORMAT=’DD-MON-YYY HH:MIpm’;

次に次の文を与えます。

select sysdate from dual;
SYSDATE
——————
AUG-2003 03:05pm

NLS_DATE_FORMAT のデフォルト設定は DD-MON-YY

CURRENT_DATE 例

現在のシステム日付と時刻をタイムゾーンとともに確認するには、CURRENT_DATE 関数を使用します

ALTER SESSION SET TIME_ZONE = ‘-4:0’;
alter session set nls_date_format = ‘dd-mon-yyyy hh24:mi:ss’;
select sessiontimezone, current_date from dual;
sessiontimezone current_date
————— ——————–
-04:00 22-apr-2003 14:15:03
alter session set time_zone = ‘-7:0’;
select sessiontimezone, current_date from dual;
sessiontimezone current_date
————— ——————–
-07:00 22-APR-2003 09:15:33

SYSTIMESTAMP 例

現在のシステム日付と時間、タイムゾーンの端数を表示するには、次の文を与える

select systimestamp from dual;
SYSTIMESTAMP
———————————–
22-APR-03 08.00:00:30
SYSTIMESAMP
—————————————
-22-APR-03 09:00:40
-APR-2003 09:00:40
-APR-2003 09:00:40
-APR-2003 09:00:4038.55.538741 AM -07:00

DATE FORMAT MODELS

日付を別のフォーマット文字列に変換するには、日付フォーマットで TO_CHAR 関数を使用できます。 例えば、現在の日を表示するには、次のクエリを実行します。

Select to_char(sysdate,’DAY’) “Today” FROM DUAL;
TODAY
——-
THURSDAY

デフォルトの日付フォーマット以外のフォーマットの文字値を日付値に変換するには、日付フォーマットで TO_DATE 関数を使用します

この「DAY」フォーマットのモデルのように、Oracle では他にも多くの日付フォーマットモデルが利用できます。 次の表は、日付書式モデルの一覧です。

日

日

の場合。

Q

年の下二桁です。

年

の時制

ユリウスデイi.A.

SSSS>

FORMAT

MEANING

D

Day of the Week

DD

Day of the month

DDD

DAY

例) 全日。 月曜日」「火曜日」「水曜日」

DY

3文字で表す日(例:「月曜日」、「火曜日」、「水曜日」、「月曜日」)。 MON’、’TUE’,’FRI’

W

月の週

WW

Week of the year

MM

Month in two digits (1-)1月 2-2月、…12月)

MON

Jan, Feb, Aprのような3文字の月

MONTH

“1月 “のように全月表示する。 「

RM

Month in Roman Characters (I-XII, I-Jan, II-Feb, …).XII-Dec)

月の四桁

YY

YYYY

Full year

YEAR

“Nineteen Ninety Nine” などで年を表す単語

HH

12時間表示

H12

12時間表記

HH24

24 時間表示

MI

分

SS

秒

FF

端数秒

SSSS

ミリ秒

J

JURI

FF FF

RR

If the year is less than 50 as the year as 21ST Century.もし年が50より小さければ21世紀と仮定します。 年号が50より大きい場合は、20世紀の年号を仮定します。

接尾辞

TH

1st のように先頭番号に従って th, st, rd または nd を返します。 2nd 3rd 4th

SP

先頭番号を綴る

AM または PM

時間に従ってAMまたはPMを返す

SPTH

スペル順番号を返します。 の場合。 例 第一、第四

例えば、次の形式で今日の日付を表示するには

Friday, 7th March, 2014

次の文を与えます

select to_char(sysdate,’Day, ddth Month, yyyy’) “Today” from dual.Of;

TODAY
————————
Friday, 7th March, 2014

例えば、次の形式ですべての従業員の入社日を表示したい場合

Friday, 8th August, 2003

次に、以下のクエリを実行します。

select to_char(hire_date,’Day, ddth Month, yyyy’) from emp;

TO_DATE 例

ToDate関数は文字列を日付値に変換するために使用されます。 例えば、1947年8月15日に何日であったかを見たいとします。 To_Date関数を使用して、まず文字列を日付の値に変換し、次にこの値をto_char関数に渡して日を抽出します。

select to_char(to_date(’15-aug-1947′,’dd-mon-yyyy’),’Day’)
from dual;
TO_CHAR(
——–
Friday

15-aug-1947 から何日経過したかを見るには、次のクエリを実行します

select sysdate-to_date(’15-aug-1947′,’dd-mon-yyyy’) from dual;

次に、今から 45 日後に発生する日付を確認します。

select sysdate+45 from dual;
SYSDATE
——-
06-JUN-2003

ADD_MONTHS

今から6ヶ月後の日付を確認するには、ADD_MONTHS関数を使用します

select ADD_MONTHS(SYSDATE,6) from dual.DからSYSDATEを選択します

select ADD_MONTHS(SYSDATE+45)からSYSDATEを選択します。
ADD_MONTHS
———-
22-OCT-2003

MONTHS_BETWEEN

特定の日付から何ヶ月経過したかを確認するには、MONTHS_BETWEEN関数を使用します。
例えば、1947年8月15日から何ヶ月経過したかを調べるには、次のクエリを実行します。

select months_between(sysdate,to_date(’15-aug-1947′))
from dual;
Months
——
616.553

小数点以下を削除するには truncate 関数を使用します

select trunc(months_between(sysdate,to_date(’15-aug-1947′)))
from dual.SELECT

SELECT trunc(months_between(sysdate,to_date(’15-aug-1947′)))
from dual;
月
——
616

LAST_DAY

指定した日付の月の最終日を見るには、LAST_DAY関数を使用します。

select LAST_DAY(sysdate) from dual;
LAST_DAY
——–
31-AUG-2003

NEXT_DAY

特定の日が次にいつ来るか確認するには、NEXT_DAY 関数を使用します。
例えば、次の土曜日を表示するには、次のクエリを実行します。

select next_day(sysdate) from dual;
NEXT_DAY
———–
09-AUG-2003

EXTRACT

EXTRACT日付関数はdatetimeまたは間隔値式から指定した日付時間フィールドを抽出し値を返します。 TIMEZONE_REGIONまたはTIMEZONE_ABBR(略語)を抽出すると、返される値は適切なタイムゾーン名または略語を含む文字列になります

EXTRACT関数の構文は次のとおりです。

EXTRACT ( YEAR / MONTH / WEEK / DAY / HOUR / MINUTE / TIMEZONE FROM DATE)
Example
次の例は、EXTRACT関数を使って現在の日付から年を抽出した例です。
select extract(year from sysdate) from dual;
EXTRACT
——-
2003

コメントを残す コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

アーカイブ

  • 2022年1月
  • 2021年12月
  • 2021年11月
  • 2021年10月
  • 2021年9月

メタ情報

  • ログイン
  • 投稿フィード
  • コメントフィード
  • WordPress.org
  • DeutschDeutsch
  • NederlandsNederlands
  • SvenskaSvenska
  • DanskDansk
  • EspañolEspañol
  • FrançaisFrançais
  • PortuguêsPortuguês
  • ItalianoItaliano
  • RomânăRomână
  • PolskiPolski
  • ČeštinaČeština
  • MagyarMagyar
  • SuomiSuomi
  • 日本語日本語

Copyright Trend Repository 2022 | Theme by ThemeinProgress | Proudly powered by WordPress