ページのトップに戻る
Interstage Data Effector ユーザーズガイド

A.10.4 convert_datetime関数

任意の1レコードについて、項目参照で示される内容を、標準日時形式に変換します。


書式

参照

項目参照については、“A.7.8 項目参照”を参照してください。


データ書式

データ書式は、以下の書式要素と書式要素のセパレータ文字を使用して、任意の順番で指定できます。

表A.39 データ書式に指定可能な文字列

カテゴリ

書式要素

変換後の長さ

変換後の範囲

内容

YY

4文字(固定)

1930~2029

年(西暦:1930~2029)年

YYYY

4文字(固定)

0001~9999

年(西暦:1~9999)年

MM

2文字(固定)

01~12

月(1月~12月)

MONTH

月の名称(1月~12月)

MON

省略形の月の名称(1月~12月)

DD

2文字(固定)

01~31

日(1日~31日)

曜日

DAY

対象外

対象外

曜日の名称

DY

省略形の曜日の名称

hh

2文字(固定)

00~23

時(0時~23時)

mm

2文字(固定)

00~59

分(0分~59分)

ss

2文字(固定)

00~59

秒(0秒~59秒)


表A.40 データ書式のセパレータ文字に指定可能な文字

名称

文字

半角空白

コロン

ピリオド

.

カンマ

,

スラッシュ

/

ハイフン

-

セパレータ文字指定無し



convert_datetime($日時,"YYYY MM DD hh:mm:ss")

復帰値

変換が正常に動作した場合は、日時型を返します。



注意

  • 変換元データの内容が、データ書式と完全に一致している必要があります。

  • 項目参照にデータが存在しない場合は、変換結果を空として扱います。

  • 項目参照のデータが、指定したデータ書式と異なる場合は変換結果を空として扱います。

  • 同じカテゴリの書式要素を2回以上指定できません。

  • 書式要素にMONTH、MON、DAY、またはDYを指定した場合、変換元データの文字列は以下の表に完全に一致している必要があります。大文字、小文字が違っていた場合は、空に変換されます。

    MONTH

    JANUARY,FEBRUARY,MARCH,APRIL,MAY,JUNE,JULY,AUGUST,SEPTEMBER,
    OCTOBER,NOVEMBER,DECEMBER
    January,February,March,April,May,June,July,August,September,
    October,November,December

    MON

    JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC
    Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec

    DAY

    SUNDAY,MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY
    Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday

    DY

    SUN,MON,TUE,WED,THU,FRI,SAT
    Sun,Mon,Tue,Wed,Thu,Fri,Sat

  • 書式要素のセパレータ文字を、2文字以上連続で指定できません。

  • 書式要素のセパレータ文字を、データ書式の先頭および末尾に指定できません。

  • 下記の書式要素にセパレータ文字が含まれない場合には、書式要素は固定の長さで処理されます。

    表A.41 書式要素と固定の長さ

    カテゴリ

    書式要素

    長さ

    YY

    2文字

    YYYY

    4文字

    MM

    2文字

    DD

    2文字

    hh

    2文字

    mm

    2文字

    ss

    2文字

    ミリ秒

    なし

    3文字

  • 変換元データの妥当性のチェック(曜日の整合性)は行いませんので、実際の曜日とデータの曜日が違っていても、そのまま変換されます。

  • 存在しない日が変換元データに存在する場合は、変換後は、空として扱われます。


変換の注意事項

秒のあとに"."(ピリオド)がついている場合、"."(ピリオド)のあとをミリ秒と判断します。

変換元のデータにミリ秒が存在する場合、切り捨てます。

以下のデータがあるものとします。

時間1

時間2

時間3

時間4

2008/02/05 9:00:00.123

2008/02/05 9:00:00.123456

2008/02/05 090000.123

2008/02/05 900.123


変換結果

変換関数

結果

備考

convert_datetime($日時1,"YYYY/MM/DD hh:mm:ss")

2008-02-05 09:00:00

convert_datetime($日時2,"YYYY/MM/DD hh:mm:ss")

2008-02-05 09:00:00

convert_datetime($時間3,"YYYY/MM/DD hhmmss")

2008-02-05 09:00:00

convert_datetime($時間4,"YYYY/MM/DD hhmmss")

0が省略されている。