2017-02-25 6 views
1

datetime型の列を持つテーブルがあります。私はちょうど日時のMysqlのキャストが出力に反映されない

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 

なぜとして

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

しかし、私は出力を得ている時間の両方である、2つのクエリを使用して日付にキャストすることができます試してみました私は日付形式の出力を得ません。

は、ここに私のテーブル・スクリプト

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; 

答えて

1

である。これは、DATE関数は午後12時00分と時間または12時間形式午前12時の時間と与えられた日時と同じ日付を返すので、予想通り。

あなたは文字列としてちょうど日付部分を取得するためにDATE_FORMATを使用することができます。

select date_format(created_date, '%Y-%m-%d') as created_date 
from attendance_student 
関連する問題