Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 타임스탬프 값으로부터 날짜만 표시하는 방법

MySQL에서 타임스탬프(UNIX 시간) 값으로부터 날짜만 표시하려면 FROM_UNIXTIME() 함수를 사용하면 됩니다. 이 함수는 UNIX 타임스탬프를 'YYYY-MM-DD HH:MM:SS' 형식의 날짜·시간 문자열로 변환해 줍니다.

1. 샘플 테이블 생성

먼저 타임스탬프 값을 저장할 테이블을 생성합니다.

mysql> create table DemoTable
-> (
-> timestampValue bigint
-> );
Query OK, 0 rows affected (0.70 sec)

2. 데이터 삽입

INSERT 명령을 사용하여 테이블에 몇 개의 레코드를 삽입합니다.

mysql> insert into DemoTable values(1538332200);
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable values(1577730600);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values(1488652200);
Query OK, 1 row affected (0.12 sec)

3. 저장된 데이터 확인

SELECT 문을 사용하여 테이블의 모든 레코드를 조회합니다.

mysql> select *from DemoTable;

위 쿼리는 다음과 같은 결과를 출력합니다.

+----------------+
| timestampValue |
+----------------+
|     1538332200 |
|     1577730600 |
|     1488652200 |
+----------------+
3 rows in set (0.00 sec)

4. FROM_UNIXTIME()으로 날짜 변환

타임스탬프 값을 사람이 읽을 수 있는 날짜 형식으로 변환하는 쿼리는 다음과 같습니다.

mysql> select from_unixtime(timestampValue) as Date from DemoTable;

실행 결과는 아래와 같습니다.

+---------------------+
| Date                |
+---------------------+
| 2018-10-01 00:00:00 |
| 2019-12-31 00:00:00 |
| 2017-03-05 00:00:00 |
+---------------------+
3 rows in set (0.00 sec)

5. 날짜만 추출하는 추가 방법

시간 정보를 제외하고 날짜 부분만 표시하고 싶다면 FROM_UNIXTIME()의 결과에 DATE() 함수를 감싸주면 됩니다.

mysql> select date(from_unixtime(timestampValue)) as DateOnly from DemoTable;

또한 원하는 출력 형식이 있다면 DATE_FORMAT() 함수를 활용할 수 있습니다. 예를 들어 '2018년 10월 01일'처럼 표시하려면 다음과 같이 작성합니다.

mysql> select date_format(from_unixtime(timestampValue), '%Y년 %m월 %d일') as FormattedDate from DemoTable;

이처럼 MySQL에서는 FROM_UNIXTIME(), DATE(), DATE_FORMAT() 등의 함수를 조합하여 타임스탬프 값을 다양한 형태의 날짜로 손쉽게 변환하고 표시할 수 있습니다.