SECOND スカラー関数

SECOND 関数は、値の秒の部分をオプションの小数秒と共に戻します。

Read syntax diagramSkip visual syntax diagramSECOND(expression ,integer-constant )

スキーマは SYSIBM です。

expression
以下のいずれかの組み込みデータ・タイプの値を戻す式。すなわち、DATE、TIME、TIMESTAMP、時刻期間、タイム・スタンプ期間、または日付、時刻、またはタイム・スタンプの有効な文字ストリング表記 (CLOB 以外)。 expression が DATE または日付の有効なストリング表記である場合、時刻が午前 0 時ちょうど (00.00.00) であると想定して、最初に TIMESTAMP(0) 値に変換されます。 式がタイム・スタンプの有効なストリング表記である場合、最初に TIMESTAMP(12) 値に変換されます。 Unicode データベースでは、指定した引数が GRAPHIC ストリングであると、 まず文字ストリングに変換されてから、関数が実行されます。
integer-constant
小数秒の位取りを表す整数定数。 値の範囲は 0 から 12 です。

単一引数を持つ関数の結果は、長精度整数 (large integer) です。 2 つの引数を持つ関数の結果は、DECIMAL(2+s,s) です。ここで、sinteger-constant の値です。 最初の引数が NULL になる可能性がある場合、結果も NULL になる可能性があります。 最初の引数が NULL であれば、結果は NULL 値になります。

その他の規則は、最初の引数のデータ・タイプおよび引数の数に応じて以下のように異なります。
  • 最初の引数が DATE、TIME、TIMESTAMP、あるいは日付、時刻、またはタイム・スタンプの有効なストリング表記の場合
    • 引数が 1 つだけ指定されている場合、結果は値の秒の部分 (0 から 59) になります。
    • 両方の引数が指定されている場合、結果は値の秒の部分 (0 から 59) と、値の小数秒の部分の integer-constant 桁数 (該当する場合) になります。 値に小数秒がない場合、ゼロが戻されます。
  • 最初の引数が時刻期間またはタイム・スタンプ期間の場合
    • 引数が 1 つだけ指定されている場合、結果は値の秒の部分 (-99 から 99) になります。
    • 両方の引数が指定されている場合、結果は値の秒の部分 (-99 から 99) と、値の小数秒の部分の integer-constant 桁数 (該当する場合) になります。 値に小数秒がない場合、ゼロが戻されます。 ゼロ以外の結果の符号は、引数と同じになります。

  • 例 1: ホスト変数 TIME_DUR (decimal(6,0)) の値が 153045 と想定します。
      SELECT SECOND(:TIME_DUR)
        FROM SYSIBM.SYSDUMMY1

    戻り値は 45 です。

  • 例 2: 列 RECEIVED (データ・タイプは TIMESTAMP) には、1988-12-25-17.12.30.000000 に相当する内部値が入っているものとします。
      SELECT SECOND(RECEIVED)
        FROM IN_TRAY

    この例では 30 の値を戻します。

  • 例 3: ミリ秒で指定された現在のタイム・スタンプから、小数秒を持つ秒を取得します。
      SELECT SECOND (CURRENTTIMESTAMP(3), 3)
        FROM SYSIBM.SYSDUMMY1

    現在のタイム・スタンプ (54.321 など) に基づいて DECIMAL(5,3) 値を戻します。