MySQL에서는 시간을 문자열 형태로 테이블에 저장하는 경우가 많지만 이는 시간 계산 및 비교에 불편합니다. 따라서 관련 작업을 수행하기 쉽도록 문자열 유형의 시간을 시간 유형으로 변환해야 합니다. 이 기사에서는 MySQL에서 시간을 변환하는 방법을 소개합니다.
MySQL에서는 시간을 DATETIME, TIMESTAMP, DATE, TIME 및 기타 유형으로 표현할 수 있습니다. 이러한 유형이 MySQL에 저장되는 시간은 UTC 시간입니다.
문자열 형식의 시간을 시간 형식으로 변환하려면 MySQL에서 제공하는 STR_TO_DATE() 함수를 사용하면 됩니다. 이 함수의 구문은 다음과 같습니다.
STR_TO_DATE(str, format)
그 중 str은 변환할 문자열을 나타내고, format은 문자열에 포함된 날짜와 시간의 형식을 나타냅니다. 예:
SELECT STR_TO_DATE('2019-08-14 21:12:23', '%Y-%m-%d %H:%i:%s');
이 SQL 문은 2019년 8월 14일 21:12:23을 나타내는 DATETIME 유형 시간을 반환합니다.
STR_TO_DATE() 함수를 사용할 때 다음 사항에 주의해야 합니다.
STR_TO_DATE() 함수 외에도 UNIX_TIMESTAMP() 함수를 사용하여 문자열 유형 시간을 UNIX 타임스탬프로 변환할 수도 있습니다. UNIX 타임스탬프는 1970년 1월 1일 00:00:00부터 현재 시간까지의 초 수를 나타냅니다. 예:
SELECT UNIX_TIMESTAMP('2019-08-14 21:12:23');
이 SQL 문은 2019년 8월 14일 21:12:23의 UNIX 타임스탬프를 나타내는 정수를 반환합니다.
MySQL의 UNIX 타임스탬프와 시간 유형은 모두 UTC 시간이므로 직접 비교하고 계산할 수 있습니다. 예를 들어, UNIX_TIMESTAMP()를 사용하여 시간 유형을 UNIX 타임스탬프로 변환한 다음 이를 빼서 두 시간 사이의 시간 차이를 얻을 수 있습니다. 예:
SELECT UNIX_TIMESTAMP('2019-08-14 21:12:23') - UNIX_TIMESTAMP('2019-08-14 21:12:21');
이 SQL 문은 2019년 8월 14일 21:12:23과 2019년 8월 14일 21:12:21 사이의 시간 차이(2초)를 나타내는 정수를 반환합니다.
문자열 유형을 시간 유형으로 변환하는 것 외에도 DATE_FORMAT() 함수를 사용하여 시간 유형을 문자열 유형으로 변환할 수도 있습니다. 이 함수의 구문은 다음과 같습니다.
DATE_FORMAT(date, format)
그 중 date는 변환할 시간, format은 반환되는 문자열 형식입니다. 예:
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s');
이 SQL 문은 "YYYY-MM-DD HH:MI:SS" 형식으로 현재 시간의 문자열 표현을 반환합니다.
요약:
MySQL에서는 시간이 문자열 형식으로 테이블에 저장되는 경우가 많습니다. 시간 계산 및 비교를 용이하게 하기 위해서는 문자열 형식의 시간을 시간 형식으로 변환하여 직접 계산 및 비교가 가능해야 합니다. MySQL에서 제공하는 STR_TO_DATE(), UNIX_TIMESTAMP() 함수를 사용하여 문자열 유형의 time을 시간 유형이나 UNIX 타임스탬프로 변환하거나, DATE_FORMAT() 함수를 사용하여 시간 유형을 문자열 유형으로 변환할 수 있다. 변환 함수를 사용할 때 형식 문자열 작성 사양과 엄격 모드 사용에 주의해야 합니다.
위 내용은 MySQL에서 시간을 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!