15_日時を処理
概要
日付時刻関数
概要
- 時間値の処理に使用できる関数。
- 時系列で分析をすることが可能になる。
日付時刻関数の使用例
関数名 |
説明 |
CURDATE() , CURRENT_DATE() , CURRENT_DATE |
現在の日付を返す。 |
CURTIME() , CURRENT_TIME() , CURRENT_TIME |
現在の時刻を返す。 |
NOW() , CURRENT_TIMESTAMP() , CURRENT_TIMESTAMP |
現在の日付と時刻を返す。 |
DATE_FORMAT() |
日付を指定内容に基づいてフォーマットする。*1 |
DAYNAME() |
曜日の名前を返す。 |
DATEDIFF(日付1, 日付2) |
日付1と日付2の差を返す。 |
DATE_ADD(日付, INTERVAL 期間) |
日付に期間を加える。*2 |
記号 |
意味 |
%a |
週(Sun…Sat) |
%b |
月(Jan…Dec) |
%c |
月(1…12) |
%d |
日(01…31) |
%H |
時(01…31) |
%h |
時(01…31) |
%m |
月(01…12) |
%Y |
年(4桁の数字) |
%y |
年(2桁の数字) |
期間 |
意味 |
YEAR |
年 |
MONTH |
月 |
DAY |
日 |
HOUR |
時間 |
MINUTE |
分 |
SECOND |
秒 |
サンプル
日時データを確認
SELECT rental_date, return_date FROM rental
LIMIT 3;
MariaDB [sakila]> SELECT rental_date, return_date FROM rental LIMIT 3;
+---------------------+---------------------+
| rental_date | return_date |
+---------------------+---------------------+
| 2005-05-24 22:53:30 | 2005-05-26 22:04:30 |
| 2005-05-24 22:54:33 | 2005-05-28 19:40:33 |
| 2005-05-24 23:03:39 | 2005-06-01 22:12:39 |
+---------------------+---------------------+
3 rows in set (0.00 sec)
10日後の日時を表示
SELECT DATE_ADD(rental_date, INTERVAL '10' DAY)
FROM rental
LIMIT 3;
MariaDB [sakila]> SELECT DATE_ADD(rental_date, INTERVAL '10' DAY) FROM rental LIMIT 3;
+------------------------------------------+
| DATE_ADD(rental_date, INTERVAL '10' DAY) |
+------------------------------------------+
| 2005-06-03 22:53:30 |
| 2005-06-03 22:54:33 |
| 2005-06-03 23:03:39 |
+------------------------------------------+
3 rows in set (0.01 sec)
日付を差分を表示
SELECT DATEDIFF(return_date, rental_date)
FROM rental
LIMIT 3;
MariaDB [sakila]> SELECT DATEDIFF(return_date, rental_date) FROM rental LIMIT 3;
+------------------------------------+
| DATEDIFF(return_date, rental_date) |
+------------------------------------+
| 2 |
| 4 |
| 8 |
+------------------------------------+
3 rows in set (0.00 sec)
現在の日時を表示
SELECT DATEDIFF(NOW(), return_date)
FROM rental
LIMIT 3;
MariaDB [sakila]> SELECT DATEDIFF(NOW(), return_date) FROM rental LIMIT 3;
+------------------------------+
| DATEDIFF(NOW(), return_date) |
+------------------------------+
| 4982 |
| 4980 |
| 4976 |
+------------------------------+
3 rows in set (0.00 sec)
日時の表示形式を指定
SELECT DATE_FORMAT(rental_date, '%Y年%m月%d日')
FROM rental
LIMIT 3;
MariaDB [sakila]> SELECT DATE_FORMAT(rental_date, '%Y年%m月%d日') FROM rental LIMIT 3;
+------------------------------------------+
| DATE_FORMAT(rental_date, '%Y年%m月%d日') |
+------------------------------------------+
| 2005年05月24日 |
| 2005年05月24日 |
| 2005年05月24日 |
+------------------------------------------+
3 rows in set (0.00 sec)