time_slice
指定された時間の粒度に基づいて、指定された時間を時間間隔の始まりまたは終わりに変換します。
この関数は v2.3 からサポートされています。
v2.5 では、指定された時間を時間間隔の終わりに変換することがサポートされています。
Syntax
DATETIME time_slice(DATETIME dt, INTERVAL N type[, boundary])
Parameters
dt
: 変換する時間、DATETIME 型。INTERVAL N type
: 時間の粒度。例えば、interval 5 second
。N
は時間間隔の長さで、INT 値でなければなりません。type
は単位で、YEAR、QUARTER、MONTH、WEEK、DAY、HOUR、MINUTE、SECOND、MILLISECOND (3.1.7 以降)、MICROSECOND (3.1.7 以降) のいずれかです。
boundary
: オプションです。時間間隔の始まり (FLOOR
) または終わり (CEIL
) を返すかどうかを指定するために使用します。有効な値は FLOOR、CEIL です。このパラメータが指定されていない場合、デフォルトはFLOOR
です。このパラメータは v2.5 からサポートされています。
Return value
DATETIME 型の値を返します。
Usage notes
時間間隔は西暦 0001-01-01 00:00:00
から始まります。
Examples
以下の例は test_all_type_select
テーブルに基づいて提供されています。
select * from test_all_type_select order by id_int;
+------------+---------------------+--------+
| id_date | id_datetime | id_int |
+------------+---------------------+--------+
| 2052-12-26 | 1691-12-23 04:01:09 | 0 |
| 2168-08-05 | 2169-12-18 15:44:31 | 1 |
| 1737-02-06 | 1840-11-23 13:09:50 | 2 |
| 2245-10-01 | 1751-03-21 00:19:04 | 3 |
| 1889-10-27 | 1861-09-12 13:28:18 | 4 |
+------------+---------------------+--------+
5 rows in set (0.06 sec)