LJC.LOG
October 30, 2023

1. 시분초 형식으로 조회하는방법

데이터베이스에 시간을 저장할 때, 원하는 포맷으로 조회하려면 포맷 설정을 활용해야 합니다.

각 데이터베이스마다 포맷 설정 방법이 다르므로, 여기서는 MySQL (MariaDB)와 Oracle을 기준으로 시간 데이터 포맷 변환 방법을 설명하겠습니다.

1) MySQL (MariaDB) 시간 데이터 포맷 변환

MySQL이나 MariaDB에서는 DATE_FORMAT 함수를 사용하여 시간 데이터의 포맷을 변경할 수 있습니다.

예를 들어, 2023-11-02 12:00:00 형태의 데이터를 20231102로 변환하려면 다음과 같이 작성합니다.

SELECT DATE_FORMAT(컬럼명, '%Y%m%d') AS 포맷된_날짜

FROM 테이블명;

DATE_FORMAT 함수에서 포맷을 지정할 때, 대문자와 소문자의 차이로 출력 값이 달라지므로 주의해야 합니다:

  • %y: 2자리 연도 (e.g., 23)
  • %Y:  4자리 연도 (e.g., 2023)
  • %m: 2자리 숫자 월 (e.g., 11)
  • %M: 영어 월 이름 (e.g., November))
  • %d: 2자리 숫자 일 (e.g., 02)
  • %D: 영어 요일 (e.g., Thu)

시, 분, 초까지 포함하여 포맷을 지정하는 예시는 다음과 같습니다.

SELECT DATE_FORMAT(컬럼명, '%Y.%m.%d %H:%i:%s') AS 포맷된_날짜_시간

FROM 테이블명;

이 예제에서는 2023.11.02 12:00:00 형태로 날짜와 시간을 조회할 수 있습니다.

DATE_FORMAT쿼리

2) Oracle 시간 데이터 포맷 변환

Oracle 데이터베이스에서는 TO_CHAR 함수를 사용하여 시간 데이터를 원하는 포맷으로 변환할 수 있습니다.

예를 들어, DATE 타입의 데이터를 YYYYMMDD HH24:MI:SS 형태로 변환하려면 다음과 같이 작성합니다.

SELECT TO_CHAR(컬럼명, 'YYYYMMDD HH24:MI:SS') AS 포맷된_날짜_시간

FROM 테이블명;

이 함수는 다음과 같은 포맷 옵션을 지원합니다:

  • YYYY: 4자리 연도 (e.g., 2023)
  • MM: 2자리 숫자 월 (e.g., 11)
  • DD: 2자리 숫자 일 (e.g., 02)
  • HH24: 24시간 형식의 시간 (e.g., 12)
  • MI: 2자리 분 (e.g., 00)
  • SS: 2자리 초 (e.g., 00)

또한, 다양한 형식의 날짜와 시간을 지원합니다:

  • MM/DD/YYYY HH:MI:SS AM: 월/일/연도 시간:분:초 오전/오후 (e.g., 11/02/2023 12:00:00 PM)

MySQL (MariaDB)와 Oracle에서 시간 포맷을 변환하는 방법을 살펴보았습니다.

각 데이터베이스는 고유의 함수를 제공하여 시간 데이터를 원하는 포맷으로 변환할 수 있습니다.

MySQL에서는 DATE_FORMAT 함수를 사용하고, Oracle에서는  TO_CHAR 함수를 사용하여 손쉽게 시간 포맷을 변경할 수 있습니다.

궁금한 점이 있거나 추가로 도움이 필요하시면 댓글로 남겨주세요.

읽어주셔서 감사합니다! 😊

Related Posts