96

我将 DATETIME字段存储在表中。每个值看起来像这样: 2012-09-09 06:57:12

我正在使用这种语法:

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

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

日期如2012-09-09和时间如06:57:12

4

6 回答 6

148

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

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

SQLFiddle 演示

于 2012-09-09T07:14:31.087 回答
57

根据 mysql 文档,DATE() 函数将提取日期时间字段的日期部分,而 TIME() 将提取时间部分。所以我会尝试:

select DATE(dateTimeField) as Date, TIME(dateTimeField) as Time, col2, col3, FROM Table1 ...
于 2012-09-09T07:18:11.867 回答
18

尝试:

SELECT DATE(`date_time_field`) AS date_part, TIME(`date_time_field`) AS time_part FROM `your_table`
于 2012-09-09T07:15:28.197 回答
0

简单地说,
SELECT TIME(column_name), DATE(column_name)

于 2019-09-10T08:34:21.837 回答
-1

一个简单的方法是:

日期:

SELECT DATE(column_name) as mydate

对于时间:

SELECT DATE(column_name) as mytime
于 2021-11-02T22:33:40.873 回答
-2

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

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

于 2013-12-06T06:42:29.437 回答