MySQL DATE\u FORMAT()

MySQL DATE\u FORMAT()

2022-06-03 last update

5 minutes reading MySQL MariaDB
데이터베이스에 데이터를 삽입할 때 정확한 형식으로 날짜 값을 제공하지 않으면 MySQL의 기본 날짜 형식은 "YYYY-MM-DD."입니다.오류가 발생하거나 잘못된 값을 삽입할 수 있습니다.때때로 데이터베이스 테이블에서 데이터를 읽으면 날짜 값(예: "DD-MM-YYYYY"또는 "MM-DD-YYYYY"또는 수치 대신 월 이름으로 표시해야 합니다.MySQL의 DATE\u FORMAT() 함수는 프로그래밍 요구에 따라 포맷된 날짜 출력을 가져오는 데 사용됩니다.이 강좌에서는 MySQL에서 이 함수를 다른 방식으로 사용하는 방법을 설명합니다.
구문:
DATE\u FORMAT() 함수의 구문은 다음과 같습니다.
DATE_FORMAT(date_value, format)
여기에서 첫 번째 매개 변수는 데이터베이스 테이블의date 필드에서date나 DateTime 값을 포함합니다.두 번째 매개 변수는 날짜 값의 포맷 출력을 가져오기 위해'%'로 정의된 형식 설명자를 포함합니다.이 강좌의 다음 부분에서는 서로 다른 형식의 설명자를 소개할 것이다.

날짜 형식 설명자:


하나 이상의 형식 설명자는 DATE\u format () 함수의 형식 값으로 사용할 수 있습니다.다음은 MySQL에서 포맷 날짜에 사용할 형식 설명자입니다.
설명부 이름
묘사
%a
이것은 간단한 작업일 이름을 인쇄하는 데 사용됩니다.(일~토)
% b 클래스
짧은 달 이름을 인쇄하는 데 사용됩니다.(1월~12월)
% c 클래스
이것은 숫자 월 이름을 인쇄하는 데 사용됩니다.(0..12)
%d
이것은 0으로 시작하는 달의 날짜를 인쇄하는 데 사용됩니다.(00..31)
%D
1st, 2nd, 3rd, 4th 등 접두사가 있는 달의 날짜를 인쇄하는 데 사용됩니다.
% e 클래스
선행 0이 없는 월 인쇄 며칠째입니다.(0..31)
%f 레벨
이것은 날짜 값을 마이크로초 단위로 인쇄하는 데 사용됩니다.(000000..999999)
%j
그것은 0으로 시작하는 1년 중 어느 날을 인쇄하는 데 쓰인다.(000..366)
%m 레벨
선행 0의 숫자 월 값을 인쇄하는 데 사용됩니다.(00..12)
%M 레벨
전체 월 이름을 인쇄하는 데 사용됩니다.(1월~12월)
%U형
그것은 일요일이 일주일의 첫날인 00부터 1년의 주수를 인쇄하는 데 쓰인다.주 () 모드 0.(00..53)
% u형
그것은 월요일이 일주일의 첫날인 00부터 1년의 주수를 인쇄하는 데 쓰인다.주 () 모드 1.(00..53)
% 5
이것은 01부터 1년의 주수를 인쇄하는데 그 중에서 일요일은 일주일의 첫날이다.주 () 모드 2.(01..53)
% 5
이것은 01부터 1년의 주수를 인쇄하는데 그 중에서 월요일은 일주일의 첫날이다.주 () 모드 3.(01..53)
%w
이것은 일요일을 나타내는 0의 숫자 날짜를 인쇄하는 데 사용됩니다.(0..6)
%W
이것은 전체 작업일 이름을 인쇄하는 데 사용됩니다.(일~토)
%X 개
일주일의 연도를 인쇄하는데 그 중에서 일요일은 일주일의 첫날, 숫자, 네 자릿수이다.%V와 함께 사용
% x 개
일주일의 연도를 인쇄하는데 그 중에서 월요일은 일주일의 첫날, 숫자, 네 자릿수이다.%v와 함께 사용
%y형
연간 두 자릿수 인쇄에 사용됩니다.
Y형
4자리 연도를 인쇄하는 데 사용됩니다.

DATE\u FORMAT 사용():


이 단원에서는 MySQL에서 DATE\u FORMAT() 함수의 다양한 사용법을 설명합니다.

예 1: 단일 형식 설명자 사용


다음 SELECT 쿼리의 DATE\u FORMAT() 함수에는 세 개의 설명자가 사용됩니다.%D는 날짜 접미사가 있는 월 날짜를 인쇄합니다.%M은 날짜의 전체 월 이름을 인쇄합니다.% 1은 (는) 날짜의 4 자리 연도 값을 인쇄합니다.
SELECT DATE_FORMAT('2022-01-05', '%D') AS `Day of the date`,

DATE_FORMAT('2022-01-05', '%M') AS `Month of the date`,

DATE_FORMAT('2022-01-05', '%Y') AS `Year of the date`;
출력:

예 2: 다중 형식 설명자 사용


이전 예에서 각 DATE\u format () 함수는 형식 설명자를 사용했습니다.다음 SELECT 쿼리의 DATE\U format () 함수에는 여러 형식 설명자가 사용됩니다.다음 질의를 수행하면 포맷된 날짜 값이 인쇄됩니다.
SELECT '2022-05-03' AS `Original Date`,

DATE_FORMAT('2022-05-03', '%d-%m-%Y') AS `Formatted Date`;
출력:

예 3: 현재 날짜에 대해 여러 형식 설명자 사용하기


다음 SELECT query의 DATE\u format () 함수에는 현재 시스템 날짜를 포맷하기 위해 여러 형식 설명자가 사용됩니다.출력은 현재 날짜의 작업일 이름, 접미사가 있는 현재 날짜의 날짜, 현재 날짜의 4자리 연도를 인쇄합니다.
SELECT DATE_FORMAT(NOW(), '%W, %D %M, %Y') AS Today;
출력:

예 4: 데이터베이스 테이블을 포맷하는 날짜 필드


MySQL 데이터베이스에 있는 데이터를 사용하여 데이터베이스 테이블을 생성하여 테이블 데이터의 DATE\u FORMAT() 함수 사용을 확인해야 합니다.
터미널을 열고 다음 명령을 실행하여 MySQL 서버에 연결합니다.
$ sudo mysql -u root
다음 명령을 실행하여test\udb라는 데이터베이스를 만듭니다.
CREATE DATABASE test_db;
다음 명령을 실행하여 데이터베이스를 선택하십시오.
USE test_db;
다음 검색을 실행하여employees라는 테이블을 만듭니다. 이 테이블은 네 개의 필드를 포함합니다.
CREATE TABLE `employees` (

`id` int(11) AUTO_INCREMENT,

`name` varchar(50) NOT NULL,

`post` varchar(25) NOT NULL,

`joining_date` date NOT NULL, PRIMARY KEY(id));
다음 검색을 실행하여 두 개의 기록을 employees 테이블에 삽입합니다.
INSERT INTO `employees` (`id`, `name`, `post`, `joining_date`)

VALUES (NULL, 'Nur Jahan', 'Assistant Manager', '2021-01-05'),

(NULL, 'Asif Iqbal', 'Manager', '2019-03-20');
다음 두 개의 SELECT 조회를 실행하여employees표의 원본 내용과employees표의 포맷 날짜 값을 검사합니다.
SELECT * FROM employees;

SELECT id AS ID, Name, Post, DATE_FORMAT(joining_date, '%D %M %Y') AS `Joining Date` FROM employees;
출력:

결론:


이 강좌는 SELECT 쿼리에서 DATE\U FORMAT() 함수와 날짜 형식 설명자를 사용할 때 테이블 데이터를 사용하고 사용하지 않는 방법을 설명합니다.나는 MySQL 사용자가 이 강좌를 읽은 후에 조회에서 이 기능을 정확하게 사용할 수 있기를 바란다.