본문 바로가기
Data Engineering/SQL

[SQL] 문자열 변환함수 To_Char()와 형식(Format) - 오라클(Oracle)

by jangThang 2022. 3. 9.
반응형

프로그래머스(Programmers)

 

[ Contents ]

     

     

    1. 문제 (링크 참조)

     

    코딩테스트 연습 - 입양 시각 구하기(1)

    ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물

    programmers.co.kr

     

     

     

    2. 문제 풀이

    TO_CHAR(값, '형식')

     To_Char는 날짜나 숫자를 '특정 형식'의 문자열로 변환해주는 함수입니다. 단순히 자료형을 바꾸기보다는, 결과를 보기 좋게 출력할 때 많이 사용합니다.

     

    형식(Format) 설명 (예시)
    YYYY 년도 (2022)
    MM 월 (03)
    DD 일 (05)
    HH24 24시간 (13)
    HH 12시간 (01)
    MI
    SS
    AM/PM 오전/오후
    D 요일 (5) //일(1) ~ 토(7)
    DY 요일 (목)
    DAY 요일 (목요일)
    DDD 1년 중 며칠쨰 (121일)
    WW 1년 중 몇번째 주 (12주)
    Q 분기 (3분기)
    DL 날짜 요일 (2022년 3월 5일 토요일)

     날짜 관련 형식은 위와 같습니다. 

     

    소수점 자릿수 설정) TO_CHAR(3.141592, 'FM9990.99')
    천 단위 콤마 찍기) TO_CHAR(1000, 'FM999,999')

     FM을 이용해서 형식을 지정할 수 있습니다. '9'는 값이 없으면 표시하지 않으며, '0'은 값이 없어도 0을 표시합니다.

     예를 들어 'FM000.0'형식이면 34도 034.0으로 표시됩니다.

     

     

     

    3. 코드

    SELECT TO_CHAR(DATETIME,'HH24') HOUR, COUNT(*) COUNT
    FROM ANIMAL_OUTS 
    WHERE TO_CHAR(DATETIME,'HH24') BETWEEN 09 AND 19
    GROUP BY TO_CHAR(DATETIME,'HH24')
    ORDER BY TO_CHAR(DATETIME,'HH24')

     위 쿼리는 24시간 형식으로 시간대별 레코드 수를 추출합니다. 'HH24' 형식을 사용하면, 24시간 형식으로 변환할 수 있습니다.

     

    star가 되고나서 Tistory

    반응형

    댓글