MySQL 데이터베이스를 사용하면 날짜 처리 및 변환이 자주 수행되는데, 이는 데이터 통계, 분석 및 표시에 자주 사용됩니다. 따라서 개발자와 데이터베이스 관리자가 MySQL 날짜 변환 방법을 숙지하는 것은 매우 중요합니다.
MySQL은 날짜와 시간을 다양한 형식과 문자열로 쉽게 변환할 수 있는 풍부한 날짜 함수와 구문을 제공합니다. 이 기사에서는 MySQL 날짜 변환의 구문과 예에 중점을 두고 몇 가지 일반적인 애플리케이션 시나리오와 기술을 제공합니다.
날짜 형식
MySQL에서는 날짜와 시간이 기본 형식으로 저장됩니다. 기본 날짜 형식은 YYYY-MM-DD이고 시간 형식은 HH:MM:SS입니다. DATE_FORMAT() 함수를 사용하여 날짜와 시간을 다양한 형식의 문자열로 변환할 수 있습니다.
다음 표에는 MySQL 날짜 형식 옵션이 나열되어 있습니다.
형식(형식) | 설명 |
---|---|
%Y | 4자리 연도 |
%y | 두 자리 숫자 연도 |
%m | 두 자리 월 |
%c | 앞에 0이 없는 두 자리 월 |
%d | 두 자리 일 |
%e | 날짜, 아니 선행 0 |
%H | 시(00-23) |
%h | 시(01-12) |
%i | 두 자리 분 |
%s | 두 자리 숫자의 초 |
%p | "AM" 또는 "PM" |
%W | 주의 전체 이름 |
%a | 주의 약어 |
%M | 월 전체 이름 |
%b | 월 약어 |
%j | 1년의 일수(0~366) |
% U | 1년의 주 수 (일요일부터) |
%u | 연중의 주 수 (월요일부터) |
%X | 일요일이 새해 첫날인 경우 연도의 전체 숫자입니다. 새해는 전년도 마지막 토요일부터 시작됩니다 |
%V | 한 해의 주 수(월요일부터 계산), 이 경우 한 주가 다음 연도에 포함된 경우 해당 주가 계산됩니다. 새해의 첫 주처럼. |
날짜 함수
MySQL은 형식 변환, 쿼리, 날짜 및 시간 계산에 사용할 수 있는 다양한 날짜 함수를 제공합니다. 아래에는 몇 가지 일반적인 날짜 함수와 해당 설명이 나열되어 있습니다.
NOW() 함수는 현재 날짜와 시간을 반환합니다. 데이터 테이블의 필드에 타임스탬프를 추가하는 데 사용할 수 있습니다.
구문:
SELECT NOW();
결과:
2022-01-01 16:12:07
DATE_FORMAT() 함수는 날짜와 시간을 지정된 형식으로 변환할 수 있습니다.
구문:
SELECT DATE_FORMAT(date,format);
예:
SELECT DATE_FORMAT('2022-01-01 16:25:30','%m/%d/%Y %h:%i:%s %p');
결과:
01/01/2022 04:25:30 PM
DATE() 함수는 날짜 값의 날짜 부분을 반환합니다.
구문:
SELECT DATE(date);
예:
SELECT DATE('2022-01-01 16:30:00');
결과:
2022-01-01
DAY() 함수는 주어진 날짜의 날짜 부분에 있는 일수를 반환합니다.
구문:
SELECT DAY(date);
예:
SELECT DAY('2022-01-01 16:30:00');
결과:
01
MONTH() 함수는 주어진 날짜의 월을 반환합니다.
구문:
SELECT MONTH(date);
예:
SELECT MONTH('2022-01-01 16:30:00');
결과:
01
YEAR() 함수는 주어진 날짜의 연도를 반환합니다.
구문:
SELECT YEAR(date);
예:
SELECT YEAR('2022-01-01 16:30:00');
결과:
2022
DATE_ADD() 함수는 날짜 및 시간 값을 추가하는 데 사용됩니다.
구문:
SELECT DATE_ADD(date, INTERVAL value unit);
예:
SELECT DATE_ADD('2022-01-01', INTERVAL 1 MONTH);
결과:
2022-02-01
DATEDIFF() 함수는 두 날짜 사이의 일수를 계산합니다.
구문:
SELECT DATEDIFF(date1,date2);
예:
SELECT DATEDIFF('2022-01-01','2021-12-31');
결과:
1
STR_TO_DATE() 함수는 문자열을 날짜 형식으로 변환합니다.
구문:
SELECT STR_TO_DATE(str, format);
예:
SELECT STR_TO_DATE('20220101','%Y%m%d');
결과:
2022-01-01
TIME() 함수는 날짜/시간 값의 시간 부분을 반환합니다.
구문:
SELECT TIME(datetime);
예:
SELECT TIME('2022-01-01 16:45:30');
결과:
16:45:30
날짜 변환 기술
MySQL 날짜 변환의 구문과 기능을 익히는 것도 중요하지만, 실제 프로젝트에서 유연하게 활용하는 것도 필요합니다. 다음은 몇 가지 일반적인 날짜 변환 기술입니다.
MySQL에서는 DATE_DIFF(), DATEDIFF(), TO_DAYS()와 같은 함수를 사용하여 두 날짜의 차이를 계산할 수 있습니다. 예를 들어, 두 날짜 사이의 일 수를 계산합니다.
SELECT DATEDIFF('2022-01-02','2021-12-31') AS days;
결과:
2
데이터베이스의 필드가 타임스탬프 형식으로 저장된 경우 FROM_UNIXTIME()을 사용할 수 있습니다. function 날짜 형식으로 변환합니다.
SELECT DATE_FORMAT(FROM_UNIXTIME(timestamp),'%Y-%m-%d %H:%i:%s') AS date FROM tableName;
MySQL의 날짜 형식을 UNIX 타임스탬프로 변환해야 하는 경우 쿼리 문에서 UNIX_TIMESTAMP() 함수를 사용할 수 있습니다.
SELECT UNIX_TIMESTAMP('2022-01-01 17:00:00') AS timestamp;
결과:
1641054000
DATE_FORMAT() 함수를 사용하면 현재 월과 연도를 쉽게 표시할 수 있습니다.
SELECT DATE_FORMAT(NOW(),'%Y年%m月') AS month;
결과:
2022年01月
요약
MySQL 날짜 변환은 개발자와 데이터베이스 관리자에게 매우 중요합니다. 이 문서에서는 일반적인 날짜 함수와 구문은 물론 몇 가지 일반적인 애플리케이션 시나리오와 기술을 소개합니다. 실제 프로젝트에서는 최상의 날짜 형식과 효과를 얻으려면 특정 상황에 따라 유연하게 사용해야 합니다.
위 내용은 mysql 날짜 변환의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!