본문 바로가기
MySql

MySQL mysql은 타임 스탬프에서 월을 가져 오지 않습니다.

by 베이스 공부 2021. 1. 4.
반응형

DB에서 올바른 데이터를 가져 오는 쿼리가 있지만 타임 스탬프에서 해당 월을 반환하지 않습니다. 타임 스탬프 열에서 타임 스탬프가 존재하더라도 null 값을 얻습니다. 그것은 bigInt로 DB에 저장됩니다 (이것은 내 생각이 아닙니다).

내가 필요한 것은 다음과 같이 반환 된 날짜입니다.

Course |  fcpd   |   Month
216    0.5         04

그러나 나는 얻는다 :

Course |  fcpd   |   Month
216    0.5        null

SELECT mdl_quiz.course, mdl_quiz.fcpd, MONTH(mdl_quiz_grades.timemodified) as Month FROM mdl_quiz INNER JOIN mdl_quiz_grades ON mdl_quiz.course = mdl_quiz_grades.quiz WHERE mdl_quiz_grades.userid = 9428 AND mdl_quiz.course = 215

아무도 내가 어디로 잘못 가고 있는지 지적 할 수 있습니까?

 

해결 방법

 

MONTH () 함수를 적용하려면 먼저 타임 스탬프를 날짜로 다시 변환해야합니다.

MONTH(mdl_quiz_grades.timemodified)

된다

MONTH(FROM_UNIXTIME(mdl_quiz_grades.timemodified))


참고로 int 는 타임 스탬프에 충분하며 bigint 는 필요하지 않습니다. 타임 스탬프는 32 비트 숫자이므로 최대 날짜 인 2038 년 1 월 19 일을 유지할 수 있습니다.

 

참조 페이지 https://stackoverflow.com/questions/16085629

 

 

반응형

댓글