我有一个表,其中有一列是日期时间类型。我只是尝试使用两个查询将其强制转换为日期,这两个查询是
从 attendance_student 中选择类型转换(attendance_student.created_date 作为日期)
从 attendance_student 中选择日期(attendance_student.created_date)
但是两次我得到的输出都是
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
关于日期时间到日期的 Mysql 转换未反射(reflect)在输出中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42452971/