为日期时间的日期时间的日期时间铸造日期不反映在输出

为日期时间的日期时间的日期时间铸造日期不反映在输出

问题描述:

我有一个表的类型是日期时间的列表。我只是想用两个查询,这是为日期时间的日期时间的日期时间铸造日期不反映在输出

  1. select cast(attendance_student.created_date as date) from attendance_student
  2. select date(attendance_student.created_date) from attendance_student

它转换为日期,但我越来越输出

7/16/2015 12:00:00 AM 
7/16/2015 12:00:00 AM 
7/16/2015 12:00:00 AM 
7/16/2015 12:00:00 AM 
7/16/2015 12:00:00 AM 
7/16/2015 12:00:00 AM 
7/16/2015 12:00:00 AM 
7/16/2015 12:00:00 AM 

为什么既能时代我没有得到日期格式的输出。

这里是我的表脚本

CREATE TABLE `attendance_student` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `attendance_id` int(11) DEFAULT NULL, 
    `is_present` tinyint(1) DEFAULT '1', 
    `created_by` varchar(50) DEFAULT NULL, 
    `created_date` datetime DEFAULT NULL, 
    `modified_by` varchar(50) DEFAULT NULL, 
    `last_modified_date` datetime DEFAULT NULL, 
    `is_on_leave` tinyint(1) DEFAULT NULL, 
    `student_id` int(11) DEFAULT NULL, 
    `is_cocurricular_leave` tinyint(1) DEFAULT '0', 
    `is_activity_attendance` tinyint(1) DEFAULT '0', 
    `activity_id` int(11) DEFAULT NULL, 
    `is_sms_sent` tinyint(2) DEFAULT NULL, 
    PRIMARY KEY (`id`), 
    KEY `idx_attendance_attendance_student` (`attendance_id`) USING BTREE, 
    KEY `id_student_attendance_student` (`student_id`) USING BTREE, 
    KEY `fk_activity_student_attendance_id` (`activity_id`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1; 

这是预期,因为DATE函数返回日期相同,随着时间定日期时间为00:00或12小时制12:00 AM。

你可以使用DATE_FORMAT得到公正的日期部分的字符串:

select date_format(created_date, '%Y-%m-%d') as created_date 
from attendance_student