HINPUT - 文字列を日付時間値に変換

HINPUT 関数は、文字列を日付時間値に変換します。

文字列を日付時間値に変換

HINPUT(source_length, 'source_string', output_length, output)

説明

source_length

整数

変換するソース文字列のバイト数です。実際の値、値を含む文字フィールド名、値を返す式のいずれかを指定します。

source_string

文字

変換する文字列です。文字列は一重引用符 (') で囲みます。文字列を含む文字フィールド名、または文字列を返す式を指定することもできます。この文字列には、入力値として有効な任意の日付時間の組み合わせを使用することができます。

output_length

整数

返された日付時間値の長さです。有効な値には、次のものがあります。

  • 8 - 1 桁から 3 桁 (ミリ秒) を含む時間値です。
  • 10 - 4 桁から 6 桁 (マイクロ秒) を含む時間値です。
  • 12 - 7 桁から 9 桁 (ナノ秒) を含む時間値です。
output

日付時間

返される日付時間値です。結果を格納するフィールド名、または出力フォーマットです。フォーマットは一重引用符 (') で囲みます。フォーマットは、日付時間フォーマット (データタイプ H) である必要があります。

文字列を日付時間値に変換

HCNVRT 関数は、TRANSDATE フィールドを文字フォーマットに変換します。その後、HINPUT 関数が文字列を日付時間値に変換します。

TABLE FILE VIDEOTR2
PRINT CUSTID TRANSDATE AS 'DATE-TIME' AND COMPUTE
ALPHA_DATE_TIME/A20 = HCNVRT(TRANSDATE, '(H17)', 17, 'A20');
DT_FROM_ALPHA/HYYMDS = HINPUT(14, ALPHA_DATE_TIME, 8, 'HYYMDS');
WHERE DATE EQ 2000;
END

出力結果は次のとおりです。

CUSTID  DATE-TIME         ALPHA_DATE_TIME       DT_FROM_ALPHA
------  ---------         ---------------       -------------
1237    2000/02/05 03:30  20000205033000000     2000/02/05 03:30:00
1118    2000/06/26 05:45  20000626054500000     2000/06/26 05:45:00