如何在MySQL中将DATE和TIME从DATETIME中分离出来


How to separate DATE and TIME from DATETIME in MySQL?

我正在表中存储一个DATETIME字段。每个值看起来像这样:

2012-09-09 06:57:12

我使用的语法是:

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

现在我的问题是,在获取数据时,如何使用单个MySQL查询分别获取日期和时间

日期类似"2012-09-09";时间像"06:57:12";。

您可以使用DATE_FORMAT()单击链接获取更多其他格式

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

SQLFiddle演示

根据MySQL文档,DATE()函数将提取日期时间字段的日期部分,TIME()将提取时间部分。

所以我会尝试以下方法:

SELECT DATE(dateTimeField) as Date,
       TIME(dateTimeField) as Time
FROM Table1;

尝试:

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

简单地说,
SELECT TIME(column_name),DATE(column-name)

一个简单的方法是:

日期:

SELECT DATE(datetime_column) as mydate

时间:

SELECT TIME(datetime_column) as mytime

仅供日期使用
date("Y-m-d");

仅供时间使用
date("H:i:s");