span_datetime関数は、第1引数の日時値と、第2引数の日時値の差を求めて、日時フィールドで指定した内容に換算して時間間隔を取得します。日時フィールドで指定した内容で、換算して結果を出力します。
span_datetime関数の書式を以下の図に示します。
図4.27 span_datetime関数の書式
span_datetime関数で指定できる日時フィールドは以下です。日時フィールドは、いずれか1つを指定してください。
日時フィールド | 動作 |
---|---|
DAY | 日換算した値を返却します。 |
SECOND | 秒換算した値を返却します。 |
注意
第1引数より第2引数が大きい場合には、マイナス(-)が付加されて結果を返却します。
引数に指定した項目参照、または日時関数の結果が空の場合には、空が返却されます。
引数に指定した項目参照のデータ値が標準日時形式に一致していない場合は、空が返却されます。
引数に指定した項目参照、または日時関数の結果の形式と関数が対応していない場合には、構文エラーとなります。
第1引数と第2引数の両方同時に日時リテラルは指定できません。
第1引数、または、第2引数に指定した項目参照の値が複数存在する場合には、連結機能、集計機能、ソート機能では、先頭の値が対象となります。抽出機能では、異常終了します。
関数復帰値を用いて算術演算をする場合は、val関数を使用してください。
参照
項目参照については、“3.1.9 項目参照”を参照してください。
convert_datetime関数については、“4.4.5 convert_datetime関数”を参照してください。
日時リテラルについては、“3.1.6 リテラル”を参照してください。
変換が正常に動作した場合は、数値型を返します。
$日時1が“2010-03-10 00:30:00”、$日時2が“2010-02-05 09:00:00”の場合
span_datetime($日時1,$日時2,"DAY")
数値として、“32”を出力します。(単位は日)
$日時1が“2010-03-10 00:30:00”、$日時2が“2010-02-05 09:00:00”の場合
span_datetime($日時1,$日時2,"SECOND")
数値として、“2820600”を出力します。(単位は秒)