Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 클래식리텐션
- range retention
- ssh-keygen
- classic retention
- openssh
- MAU
- dpkg
- stickiness
- rolling retention
- passphrase
- 파이프(|)
- 티스토리
- 다중 암호화 키
- GIT
- DAU
- 롤링리텐션
- 범위리텐션
- 노션
- N2TWinform
- Wau
- 패키지 관리자
- 정처기필기
- 리텐션
- github
- RTO
- 하이퍼바이저
- n2t
- RPO
- pem
- 데이터리안
Archives
- Today
- Total
TobeSteady
[SELECT] DATE_FORMAT / to_char 본문
프로그램머스 : 조건에 맞는 도서 리스트 출력하기
문제
BOOK 테이블에서 2021년에 출판된 '인문' 카테고리에 속하는 도서 리스트를 찾아서
도서 ID(BOOK_ID), 출판일 (PUBLISHED_DATE)을 출력하는 SQL문을 작성해주세요.
결과는 출판일을 기준으로 오름차순 정렬해주세요.
- BOOK 테이블
Column name | Type | Nullable | Description |
BOOK_ID | INTEGER | FALSE | 도서 ID |
CATEGORY | VARCHAR(N) | FALSE | 카테고리 (경제, 인문, 소설, 생활, 기술) |
AUTHOR_ID | INTEGER | FALSE | 저자 ID |
PRICE | INTEGER | FALSE | 판매가 (원) |
PUBLISHED_DATE | DATE | FALSE | 출판일 |
MySQL
SELECT BOOK_ID, DATE_FORMAT(PUBLISHED_DATE, '%Y-%m-%d') AS PUBLISHED_DATE
FROM BOOK
WHERE '2021-01-01'<= PUBLISHED_DATE <= '2021-12-31' AND CATEGORY = '인문'
ORDER BY PUBLISHED_DATE
- DATE_FORMAT(date, format)
- date : 포맷을 변경하고 싶은 값 / format : 변경하고 싶은 날짜타입.
지정값 | 구분 | 표시형식 |
%Y / %y | 연 | 4자리 / 2자리 연도 |
%m / %c | 월 | 01-12 / 1-12 |
%M / %b | 월 | January, February.. / Jan, Feb… |
%d / %e / %D | 일 | 01-31 / 1-31 /1st, 2nd… |
https://www.w3schools.com/sql/func_mysql_date_format.asp
Oracle
SELECT BOOK_ID,
to_char(PUBLISHED_DATE, 'YYYY-MM-DD') AS PUBLISHED_DATE
FROM BOOK
WHERE to_char(PUBLISHED_DATE, 'yyyy') = '2021' AND CATEGORY = '인문'
ORDER BY PUBLISHED_DATE
1️⃣ TO_CHAR : NUMBER ➡️ CHARACTER
select to_char(1234, '99999'), to_char(1234, '00000'), to_char(1234, 'L9999'), to_char(1234, '9,999') from dual;
TO_CHAR(1234 TO_CHAR(1234 TO_CHAR(1234,'L9999') TO_CHAR(1234
------------ ------------ ------------------------------ ------------
1234 01234 ₩1234 1,234
2️⃣ TO_CHAR : DATE ➡️ CHARACTER
- sysdate : 시스템 date
select to_char(sysdate, 'HH24:MI:SS') from dual;
TO_CHAR(SYSDATE,
----------------
01:50:47
select to_char(sysdate, 'MON DY, YYYY') from dual;
TO_CHAR(SYSDATE,'MONDY,YYYY')
--------------------------------------
7월 수, 2022
select to_char(sysdate, 'YYYY-FMMM-DD DAY') from dual;
TO_CHAR(SYSDATE,'YYYY-FMMM-DDDAY')
----------------------------------------------
2022-7-27 수요일
select to_char(sysdate, 'YYYY-MM-DD') from dual;
TO_CHAR(SYSDATE,'YYY
--------------------
2022-07-27
select to_char(sysdate, 'YEAR, Q') from dual;
TO_CHAR(SYSDATE,'YEAR,Q')
----------------------------------------------
TWENTY TWENTY-TWO, 3
'Languages > SQL' 카테고리의 다른 글
[GROUP BY] Unknown column 'MAX_PRICE' in 'IN/ALL/ANY subquery' (0) | 2023.03.15 |
---|---|
[SUBQUERY&JOIN] 01. 서브쿼리를 조인으로 대체 할 수 있는 경우 (0) | 2023.03.10 |
[GROUP BY] Sub Query, JOIN | 02.차이 (0) | 2023.03.10 |
[GROUP BY] Sub Query, JOIN | 01.응용 (0) | 2023.03.10 |
[SELECT] AVG, ROUND (0) | 2023.03.03 |