目次

Search

  1. はじめに
  2. タスクフローとリニアタスクフロー
  3. タスクフロー
  4. リニアタスクフロー

タスクフロー

タスクフロー

trunc(Dates)

trunc(Dates)

日付を特定の年、月、日、時、分、秒、またはミリ秒に切り詰めます。また、truncを使って数値を切り詰めることもできます。
日付の中の以下の部分を切り詰めることができます。
  • 年。
    日付の年の部分を切り詰めると、関数は入力された年の1月1日を返し、時刻を00:00:00.000000000に設定します。例えば、次の式では1/1/1997 00:00:00.000000000を返します。
    date:trunc(xs:dateTime('12/1/1997 3:10:15'), 'YY')
  • 月。
    日付の月の部分を切り詰めると、関数は月の最初の日を返し、時刻を00:00:00.000000000に設定します。例えば、次の式では4/1/1997 00:00:00.000000000を返します。
    date:trunc(xs:dateTime('4/15/1997 12:15:00'), 'MM')
  • 日。
    日付の日の部分を切り詰めると、関数はその日付を返し、時刻を00:00:00.000000000に設定します。例えば、次の式では6/13/1997 00:00:00.000000000を返します。
    date:trunc(xs:dateTime('6/13/1997 2:30:45'), 'DD')
  • 時間。
    日付の時の部分を切り詰めると、この関数は日付の分と秒をゼロに設定して返します。たとえば、次の式では4/1/1997 11:00:00.000000000を返します。
    date:trunc(xs:dateTime('4/1/1997 11:29:35'), 'HH')
  • 分。
    日付の分の部分を切り詰めると、この関数は日付の秒をゼロに設定して返します。たとえば、次の式では5/22/1997 10:15:00.000000000を返します。
    date:trunc(xs:dateTime('5/22/1997 10:15:29'), 'MI')
  • 秒。
    日付の分の部分を切り詰めると、この関数は日付の秒をゼロに設定して返します。たとえば、次の式では5/22/1997 10:15:29.000000000を返します。
    date:trunc(xs:dateTime('5/22/1997 10:15:29.135'), 'SS')
  • ミリ秒。
    日付の分の部分を切り詰めると、この関数は日付の秒をゼロに設定して返します。たとえば、次の式では5/22/1997 10:15:30.135000000を返します。
    date:trunc(xs:dateTime('5/22/1997 10:15:30.135235'), 'MS')

構文

date:trunc(xs:dateTime('date'), 'format')
xs:dateTime句を手動で追加し、日付値を一重引用符で囲む必要があります。
次の表に、引数を示します。
引数
必須/
オプション
説明
日付
必須
Date/Timeデータ型。切り詰めを行う日付値です。日付を求める任意の有効なトランスフォーメーション式を入力できます。
NULL値を渡すには、次の形式で空のシーケンスを指定する必要があります:
()
format
必須
正しいフォーマット文字列を入力します。フォーマット文字列は大文字と小文字を区別しません。
NULL値を渡すには、次の形式で空のシーケンスを指定する必要があります:
()

戻り値

日付。
関数にNULL値を渡した場合はNULLです。

以下の式は、DATE_SHIPPEDカラムの日付の年の部分を切り詰めます。
date:trunc(xs:dateTime('DATE_SHIPPED'), 'Y') date:trunc(xs:dateTime('DATE_SHIPPED'), 'YY') date:trunc(xs:dateTime('DATE_SHIPPED'), 'YYY') date:trunc(xs:dateTime('DATE_SHIPPED'), 'YYYY')
次の表に、一部のサンプル値と戻り値を示します。
DATE_SHIPPED
RETURN VALUE
Jan 15 1998 2:10:30AM
Jan 1 1998 00:00:00.000000000
Apr 19 1998 1:31:20PM
Jan 1 1998 00:00:00.000000000
Jun 20 1998 3:50:04AM
Jan 1 1998 00:00:00.000000000
Dec 20 1998 3:29:55PM
Jan 1 1998 00:00:00.000000000
NULL
NULL
以下の式は、DATE_SHIPPEDカラムの各日付の月の部分を切り詰めます。
date:trunc(xs:dateTime('DATE_SHIPPED'), 'MM') date:trunc(xs:dateTime('DATE_SHIPPED'), 'MON') date:trunc(xs:dateTime('DATE_SHIPPED'), 'MONTH')
次の表に、一部のサンプル値と戻り値を示します。
DATE_SHIPPED
RETURN VALUE
Jan 15 1998 2:10:30AM
Jan 1 1998 00:00:00.000000000
Apr 19 1998 1:31:20PM
Apr 1 1998 00:00:00.000000000
Jun 20 1998 3:50:04AM
Jun 1 1998 00:00:00.000000000
Dec 20 1998 3:29:55PM
Dec 1 1998 00:00:00.000000000
NULL
NULL
以下の式は、DATE_SHIPPEDカラムの各日付の日の部分を切り詰めます。
date:trunc(xs:dateTime('DATE_SHIPPED'), 'D') date:trunc(xs:dateTime('DATE_SHIPPED'), 'DD') date:trunc(xs:dateTime('DATE_SHIPPED'), 'DDD') date:trunc(xs:dateTime('DATE_SHIPPED'), 'DY') date:trunc(xs:dateTime('DATE_SHIPPED'), 'DAY')
次の表に、一部のサンプル値と戻り値を示します。
DATE_SHIPPED
RETURN VALUE
Jan 15 1998 2:10:30AM
Jan 15 1998 00:00:00.000000000
Apr 19 1998 1:31:20PM
Apr 19 1998 00:00:00.000000000
Jun 20 1998 3:50:04AM
Jun 20 1998 00:00:00.000000000
Dec 20 1998 3:29:55PM
Dec 20 1998 00:00:00.000000000
Dec 31 1998 11:59:59PM
Dec 31 1998 00:00:00.000000000
NULL
NULL
以下の式は、DATE_SHIPPEDカラムの各日付の時の部分を切り詰めます。
date:trunc(xs:dateTime('DATE_SHIPPED'), 'HH') date:trunc(xs:dateTime('DATE_SHIPPED'), 'HH12') date:trunc(xs:dateTime('DATE_SHIPPED'), 'HH24')
次の表に、一部のサンプル値と戻り値を示します。
DATE_SHIPPED
RETURN VALUE
Jan 15 1998 2:10:31AM
Jan 15 1998 02:00:00.000000000
Apr 19 1998 1:31:20PM
Apr 19 1998 13:00:00.000000000
Jun 20 1998 3:50:04AM
Jun 20 1998 03:00:00.000000000
Dec 20 1998 3:29:55PM
Dec 20 1998 15:00:00.000000000
Dec 31 1998 11:59:59PM
Dec 31 1998 23:00:00.000000000
NULL
NULL
以下の式は、DATE_SHIPPEDカラムの各日付の分の部分を切り詰めます。
date:trunc(xs:dateTime('DATE_SHIPPED'), 'MI')
次の表に、一部のサンプル値と戻り値を示します。
DATE_SHIPPED
RETURN VALUE
Jan 15 1998 2:10:30AM
Jan 15 1998 02:10:00.000000000
Apr 19 1998 1:31:20PM
Apr 19 1998 13:31:00.000000000
Jun 20 1998 3:50:04AM
Jun 20 1998 03:50:00.000000000
Dec 20 1998 3:29:55PM
Dec 20 1998 15:29:00.000000000
Dec 31 1998 11:59:59PM
Dec 31 1998 23:59:00.000000000
NULL
NULL