web-dev-qa-db-ja.com

MySQLでDATETIMEからDATEとTIMEを分ける方法

DATETIMEフィールドをテーブルに保存しています。値を保存すると、2012-09-09 06:57:12のようになります。

保存するために、私は構文を使用しています:

   date("Y-m-d H:i:s");

さて、私の質問は、データを取得する際に、単一のMySQLクエリを使用して日付と時刻を別々にの両方を取得する方法です。

2012-09-09のような日付と6:57:12のような時刻。

73
Miss Rosy

DATE_FORMAT()他の形式についてはリンクをクリックしてください

SELECT DATE_FORMAT(colName, '%Y-%m-%d') DATEONLY, 
       DATE_FORMAT(colName,'%H:%i:%s') TIMEONLY

SQLFiddle Demo

116
John Woo

mysqlのドキュメントによると、DATE()関数は、日時フィールドの日付部分を取得し、時間部分にTIME()を取得します。だから私は試してみます:

select DATE(dateTimeFeild) as Date, TIME(dateTimeFeild) as Time, col2, col3, FROM Table1 ...
46
Frank Thomas

試してください:

SELECT DATE(`date_time_field`) AS date_part, TIME(`date_time_field`) AS time_part FROM `your_table`
16