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@]