MySQL에서 날짜/시간 유형을 날짜로만 변환
-
MySQL에서
DATETIME
유형에서DATE
유형으로 변환 -
DATE()
를 사용하여 MySQL에서DATETIME
을DATE
로 변환 -
CAST()
를 사용하여 MySQL에서DATETIME
을DATE
로 변환 -
CONVERT()
를 사용하여 MySQL에서DATETIME
을DATE
로 변환 -
DATE_FORMAT()
을 사용하여 MySQL에서DATETIME
을DATE
로 변환
오늘은 MySQL에서 DATETIME
타입을 DATE
타입으로 변환하기 위한 DATE()
, CAST()
, CONVERT()
, DATE_FORMAT()
메소드에 대해 알아보겠습니다. 위에서 언급한 방법을 사용할 수 있으며 MySQL 버전 4.0 이상에서 사용할 수 있습니다.
MySQL에서 DATETIME
유형에서 DATE
유형으로 변환
코드 예제로 이해하기 위해 id
, productName
, orderNumber
및 orderDateTime
을 속성으로 사용하여 orders
테이블을 생성해 보겠습니다. 또한 id
필드를 사용하여 기본 키를 생성합니다. 다음 쿼리를 참조하십시오.
예제 코드:
CREATE TABLE orders(
id INT NOT NULL,
productName VARCHAR(50) NOT NULL,
orderNumber INT NOT NULL,
orderDateTime DATETIME NOT NULL,
PRIMARY KEY(id)
);
INSERT INTO orders (id, productName, orderNumber, orderDateTime)
VALUES
(1, 'Oppo F17', 3322, '2022-04-11 04:32:15'),
(2, 'DELL Laptop', 5433, '2022-05-12 12:23:09'),
(3, 'HP Mouse', 3489, '2022-05-16 07:23:16');
SELECT * FROM orders;
출력:
+----+-------------+-------------+---------------------+
| id | productName | orderNumber | orderDateTime |
+----+-------------+-------------+---------------------+
| 1 | Oppo F17 | 3322 | 2022-04-11 04:32:15 |
| 2 | DELL Laptop | 5433 | 2022-05-12 12:23:09 |
| 3 | HP Mouse | 3489 | 2022-05-16 07:23:16 |
+----+-------------+-------------+---------------------+
3 rows in set (0.00 sec)
테이블이 준비되면 이제 다음 방법 중 하나를 사용하여 프로젝트 요구 사항에 따라 목표를 충족할 수 있습니다.
DATE()
를 사용하여 MySQL에서 DATETIME
을 DATE
로 변환
예제 코드:
SELECT id, productName, orderNumber, DATE(orderDateTime) FROM orders;
출력:
+----+-------------+-------------+---------------------+
| id | productName | orderNumber | DATE(orderDateTime) |
+----+-------------+-------------+---------------------+
| 1 | Oppo F17 | 3322 | 2022-04-11 |
| 2 | DELL Laptop | 5433 | 2022-05-12 |
| 3 | HP Mouse | 3489 | 2022-05-16 |
+----+-------------+-------------+---------------------+
3 rows in set (0.00 sec)
DATE()
함수는 유효한 DATE
또는 DATETIME
유형 필드에서 DATE
부분을 가져올 수 있습니다. 유효하지 않은 표현식이 전달되면 NULL
을 반환합니다.
DATE
에 따라서만 데이터를 그룹화하려는 경우 이 기사를 사용할 수 있습니다.
CAST()
를 사용하여 MySQL에서 DATETIME
을 DATE
로 변환
예제 코드:
SELECT id, productName, orderNumber, CAST(orderDateTime AS DATE) FROM orders;
출력:
+----+-------------+-------------+-----------------------------+
| id | productName | orderNumber | CAST(orderDateTime AS DATE) |
+----+-------------+-------------+-----------------------------+
| 1 | Oppo F17 | 3322 | 2022-04-11 |
| 2 | DELL Laptop | 5433 | 2022-05-12 |
| 3 | HP Mouse | 3489 | 2022-05-16 |
+----+-------------+-------------+-----------------------------+
3 rows in set (0.00 sec)
CAST()
메소드는 한 데이터 유형의 값을 다른 주어진 데이터 유형으로 캐스트(변환)하는 데 사용됩니다.
CONVERT()
를 사용하여 MySQL에서 DATETIME
을 DATE
로 변환
예제 코드:
SELECT id, productName, orderNumber, CONVERT(orderDateTime, DATE) FROM orders;
출력:
+----+-------------+-------------+------------------------------+
| id | productName | orderNumber | CONVERT(orderDateTime, DATE) |
+----+-------------+-------------+------------------------------+
| 1 | Oppo F17 | 3322 | 2022-04-11 |
| 2 | DELL Laptop | 5433 | 2022-05-12 |
| 3 | HP Mouse | 3489 | 2022-05-16 |
+----+-------------+-------------+------------------------------+
3 rows in set (0.00 sec)
CONVERT()
메서드를 사용하여 DATETIME
유형 필드를 DATE
로만 변환할 수도 있습니다. 두 개의 인수를 허용합니다. 첫 번째는 변환해야 하는 값이고 두 번째는 주어진 값이 변환될 데이터 유형입니다.
DATE_FORMAT()
을 사용하여 MySQL에서 DATETIME
을 DATE
로 변환
예제 코드:
SELECT id, productName, orderNumber,
DATE_FORMAT(orderDateTime, '%Y-%m-%d') FROM orders;
출력:
+----+-------------+-------------+----------------------------------------+
| id | productName | orderNumber | DATE_FORMAT(orderDateTime, '%Y-%m-%d') |
+----+-------------+-------------+----------------------------------------+
| 1 | Oppo F17 | 3322 | 2022-04-11 |
| 2 | DELL Laptop | 5433 | 2022-05-12 |
| 3 | HP Mouse | 3489 | 2022-05-16 |
+----+-------------+-------------+----------------------------------------+
3 rows in set (0.00 sec)
DATE_FORMAT()
함수는 DATETIME
을 DATE
유형으로 변환하며 현재 날짜 형식을 변경하는 데 유용합니다. 예를 들어 DATE
를 d/m/Y
형식으로 표시하려면 다음과 같이 할 수 있습니다.
예제 코드:
SELECT id, productName, orderNumber,
DATE_FORMAT(orderDateTime, '%d/%m/%Y') FROM orders;
출력:
+----+-------------+-------------+----------------------------------------+
| id | productName | orderNumber | DATE_FORMAT(orderDateTime, '%d/%m/%Y') |
+----+-------------+-------------+----------------------------------------+
| 1 | Oppo F17 | 3322 | 11/04/2022 |
| 2 | DELL Laptop | 5433 | 12/05/2022 |
| 3 | HP Mouse | 3489 | 16/05/2022 |
+----+-------------+-------------+----------------------------------------+
3 rows in set (0.00 sec)
월 번호 대신 월 이름을 보려면 DATE_FORMAT()
함수를 사용하여 다음 형식으로 변환할 수도 있습니다.
예제 코드:
SELECT id, productName, orderNumber,
DATE_FORMAT(orderDateTime, '%D %M %Y') FROM orders;
출력:
+----+-------------+-------------+----------------------------------------+
| id | productName | orderNumber | DATE_FORMAT(orderDateTime, '%D %M %Y') |
+----+-------------+-------------+----------------------------------------+
| 1 | Oppo F17 | 3322 | 11th April 2022 |
| 2 | DELL Laptop | 5433 | 12th May 2022 |
| 3 | HP Mouse | 3489 | 16th May 2022 |
+----+-------------+-------------+----------------------------------------+
3 rows in set (0.00 sec)