mysql:2630
From: Hiroyuki Sato <Hiroyuki Sato <hiro@xxxxxxxxxx>>
Date: Sat, 21 Oct 2000 16:59:38 +0900
Subject: [mysql 02630] datetime - datetime
本日このメーリングリストに参加いたしました
神奈川大学の佐藤と申します。
最近MySQLを利用しはじめました。
環境はつぎのようになっています。
OS: FreeBSD 4.1-RELEASE
MySQL: mysqlshow Ver 8.1 Distrib 3.22.32, for unknown-freebsdelf4.1 (i386)
早速質問なのですが
mysql> show fields from date_test
-> go
+-------+----------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+----------------+
| id | int(11) | | PRI | 0 | auto_increment |
| date1 | datetime | YES | | NULL | |
| date2 | datetime | YES | | NULL | |
+-------+----------+------+-----+---------+----------------+
と二つのdatetime型のフィールドをもったテーブルがあり、
mysql> select * from date_test
-> go
+----+---------------------+---------------------+
| id | date1 | date2 |
+----+---------------------+---------------------+
| 1 | 2000-10-21 00:00:00 | 2000-10-22 00:00:00 |
| 2 | 2000-10-21 00:00:00 | 2000-10-21 12:00:00 |
| 3 | 2000-10-21 00:00:00 | 2000-10-21 23:59:59 |
+----+---------------------+---------------------+
3 rows in set (0.00 sec)
というデータがあるとします。
質問 1.
つぎのようなSQLを実行すると
mysql> select date2 - date1 from date_test
-> go
+---------------+
| date2 - date1 |
+---------------+
| 1000000 |
| 120000 |
| 235959 |
+---------------+
3 rows in set (0.00 sec)
と表示される訳ですが
この出力されるデータの型は何型なのでしょうか?
質問 2.
各レコードのdate1からdate2までの時間の差分を求め
その総計を計算し、人が見てわかりやすい表示をしたいのですが
なにか良い方法はありませんでしょうか?
計算はSQLで行ないたいと考えています。
一つ考えたのは
つぎのようなSQLを実行すると
mysql> select sum(date2 - date1) from date_test
-> go
+--------------------+
| sum(date2 - date1) |
+--------------------+
| 1355959 |
+--------------------+
1 row in set (0.00 sec)
と表示されるので、これをよりわかりやすく
例えば2 day 11:59:59
というふうに表示する方法がないかと思っています。
あるいは全く別の関数を利用した方法でも構いません。
よろしくおねがいいたします。
--
Hiroyuki Sato.
CCSO, Kanagawa University.
Voice: +81-491-2572
FAX: +81-491-2575
-> 2630 2000-10-21 16:59 [Hiroyuki Sato <hiro@] datetime - datetime 2633 2000-10-21 18:54 ┗[NAKAJIMA Mutsuki <mu] 2642 2000-10-23 10:20 ┗[Hiroyuki Sato <hiro@]