본문 바로가기
SQL

[데일리코딩] 프로그래머스 SQL - 조건에맞는 데이터출력

by jinny-log 2024. 7. 15.

문제

 

문제풀이

SELECT BOOK_ID, DATE_FORMAT(PUBLISHED_DATE,"%Y-%m-%d") AS PUBLISEHD_DATE FROM BOOK
WHERE CATEGORY = '인문'
  AND YEAR(PUBLISHED_DATE) = '2021'
ORDER BY PUBLISHED_DATE ASC;

SQL함수 - 데이터포맷 변환

SQL에서 날짜와 시간 형식을 변환하거나 특정 형식으로 변환하기 위해 다양한 함수들을 사용할 수 있습니다. 데이터베이스 관리 시스템(DBMS)에 따라 사용하는 함수가 조금 다를 수 있지만, 일반적으로 사용되는 몇 가지 주요 함수들을 소개하겠습니다. MySQL, PostgreSQL, SQL Server에서 각각의 예제를 제공합니다.

MySQL

  1. DATE_FORMAT():
    • 날짜와 시간을 지정된 형식으로 변환합니다.
    sql
    코드 복사
    SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s') AS formatted_date;
    • 예시: 2023-07-10 14:30:00

PostgreSQL

  1. TO_CHAR():
    • 날짜와 시간을 지정된 형식으로 변환합니다.
    sql
    코드 복사
    SELECT TO_CHAR(NOW(), 'YYYY-MM-DD HH24:MI:SS') AS formatted_date;
    • 예시: 2023-07-10 14:30:00

SQL Server

  1. FORMAT():
    • 날짜와 시간을 지정된 형식으로 변환합니다.
    sql
    코드 복사
    SELECT FORMAT(GETDATE(), 'yyyy-MM-dd HH:mm:ss') AS formatted_date;
    • 예시: 2023-07-10 14:30:00
  2. CONVERT():
    • 날짜 형식을 다른 형식으로 변환합니다.
    sql
    코드 복사
    SELECT CONVERT(VARCHAR, GETDATE(), 120) AS formatted_date;
    • 예시: 2023-07-10 14:30:00 (120은 yyyy-mm-dd hh:mi:ss 형식)

형식 지정 옵션

여기에서 몇 가지 형식 지정 옵션을 소개합니다.

  • MySQL DATE_FORMAT() 형식 지정자:
    • %Y: 4자리 연도 (예: 2023)
    • %m: 2자리 월 (01-12)
    • %d: 2자리 일 (01-31)
    • %H: 2자리 시간 (00-23)
    • %i: 2자리 분 (00-59)
    • %s: 2자리 초 (00-59)
  • PostgreSQL TO_CHAR() 형식 지정자:
    • YYYY: 4자리 연도 (예: 2023)
    • MM: 2자리 월 (01-12)
    • DD: 2자리 일 (01-31)
    • HH24: 24시간 형식의 시간 (00-23)
    • MI: 2자리 분 (00-59)
    • SS: 2자리 초 (00-59)
  • SQL Server FORMAT() 형식 지정자:
    • yyyy: 4자리 연도 (예: 2023)
    • MM: 2자리 월 (01-12)
    • dd: 2자리 일 (01-31)
    • HH: 24시간 형식의 시간 (00-23)
    • mm: 2자리 분 (00-59)
    • ss: 2자리 초 (00-59)