目的
TD_TIME_BUCKET_NUMBERシステム関数は、タイムバケット番号を計算します。HASHROW、HASHBUCKET、またはHASHAMP関数とともにこの関数を使用すると、時系列の行がシステム全体にどのように分散されているかを確認できます。他の用途としては次のようなものがあります。
- GROUP BY TIME操作でどの候補行をどのバケットに割り当てるかを決定します
- GROUP BY TIME操作以外の行にバケット番号を割り当てる場合は、結合で結果を使用するか、またはテーブルに挿入します。
構文
構文要素
- TD_SYSFNLIB
- 関数が格納されているデータベースの名前。
- timezero
この関数のタイム ゼロとして使用されるDATEまたはTIMESTAMPを評価する任意の式。タイムスタンプのタイムゾーンはオプションです。
- timecode
- この関数のタイムコードとして使用されるDATEまたはTIMESTAMPを評価する任意の式。タイムスタンプのタイムゾーンはオプションです。
- timebucket duration
- 図に示されている時間単位のいずれかを使用して指定できる継続時間。期間には略語を使用できます。
時間単位 正式なフォームの例 省略表記 暦年 CAL_YEARS(4) 4cy 4cyear
4cyears暦月 CAL_MONTHS(5) 5cm 5cmonth
5cmonths暦日 タイム ゼロで特定された日の00:00:00.000000に始まり、23:59:59.999999に終わる24時間の期間。
CAL_DAYS(6) 6cd 6cday
6cdays週 WEEKS(3) 3w 3week
3weeks日 タイム ゼロから始まる24時間の期間。
DAYS(5) 5d 5day
5days時間 HOURS(4) 4h 4hr
4hrs
4hour
4hours分 MINUTES(23) 23m 23mins
23minute
23minutes秒 SECONDS(33) 33s 33sec
33secs
33second
33secondsミリ秒 MILLISECONDS(12) 12ms 12msec
12msecs
12millisecond
12millisecondsマイクロ秒 MICROSECONDS(10) 10us 10usec
10usecs
10microsecond
10microseconds - pos_int
- 最大値が32767の16ビットの正の整数。
戻り値
この関数の戻り型はBIGINTです。
使用上の注意
この関数は、システム関数呼び出しが有効なSQLリクエストで参照できます。
例: タイム バケット番号を計算するためのTD_TIME_BUCKET_NUMBERの使用
SELECT TD_TIMECODE, TD_TIME_BUCKET_NUMBER(DATE '1900-01-01', TD_TIMECODE, CAL_YEARS(10)) FROM ts_group_by_time_tb WHERE id = 0 ORDER BY 2; TD_TIMECODE TD_TIME_BUCKET_NUMBER(1900-01-01,TD_TIMECODE,CAL_YEARS(10)) 2006-06-06 06:06:06.006002 11