inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[개념반]배워서 바로 쓰는 SQL 쿼리

실습 문제 3-4 (Functions)

실습문제 3-4(functions) 질문

260

김현우

작성한 질문수 4

1

안녕하세요

실습문제 3-4 들으면서 궁금한 점이 생겨 질문드립니다.

질문 사항은 아래와 같은데요,

1) substr 함수

(첫번째 칼럼명 , 추출할 문자 시작, 추출할 문자 끝) 과 같이위와 같은 방식으로 추출되는 것으로 알고 있는데 employees의 생년월일에서 월만 추출하고자 한다면

substr(birthdate, 6, 7) 과 같이 작성하는 것이 아닌가요?

해당 함수로 작성할 시, 이상하게 추출이 나와 질문드립니다.

2) 문제 질문

말그대로 월별로 각각 몇명이면, 년도 상관없이 7월에 몇명, 9월에 몇명 이런식으로 추출되어야 할 것 같은데 강의 내의 방법이라면 연도-월별로 각각 추출되어서 질문드립니다.

예를 들자면, 해당 데이터에 연도는 달라도 7월달 생일자가 2명이면, "7월 - 2명" 과 같이 카운트가 되어야하는게 아닌가 싶습니다.

답변 주시면 감사하겠습니다.

sql

답변 1

1

Joe (브리쳐스)

안녕하세요 현우님

시간내어 질문 주셔서 감사합니다.

1

substr의 경우에 인자를 3개 받고있는데요, 2번째 인자까지는 설명해주신 내용이 맞지만 3번째 인자가 좀 다릅니다. 가져올 문자의 개수를 적어주셔야 하는 부분이 3번째 인자에요.

substr(birthdate, 6, 7)

위와 같이 적어주시면 "birthdate의 6번째 자리부터 7개 문자를 가져다줘"라는 뜻이 되는거죠. 말씀주신 의도대로 월만 추출하려면 substr(birthdate, 6, 2)를 적어주시면 잘 동작할 것 같습니다.

아래 링크도 함께 참고해주세요.

https://www.w3schools.com/sql/func_mysql_substr.asp

2

이 부분은 제가 오해의 소지를 남겼네요. 의도한 것은 yyyy-MM 포맷의 연도-월 추출을 의도했었는데 다른 방식으로 받아들여질 부분이 있네요. 강의 내에 수정 반영해두도록 하겠습니다.

신규 쿼리 공간 오류 문의

0

53

1

cross join 문의

0

53

1

실습 문제 20번) 구문 작성 오류 관련 문의사항

0

73

1

에러가 발생합니다.

0

128

1

쿼리 실습링크

0

123

1

3중,4중 조인 질문

0

156

1

강의자료 및 슬랙

0

313

1

실습 시 에러. 강의와 똑같이 써도 에러나요.

1

616

2

리밋 입력 시 에러

0

615

2

쿼리 작성시 작은 따옴표와 큰 따옴표

0

5540

2

SQLD 자격증 관련 질문

0

487

1

PK 컬럼에 대한 DISTINCT 적용

0

680

1

질문드리겠습니다.

0

376

1

질문드리겠습니다.

0

419

1

질문드리겠습니다.

0

400

1

질문드립니다.

0

391

1

count(distinct) 구문 오류 질문드립니다.

0

870

1

group by

1

569

1

cross <-> inner join 문의

1

294

1

실습문제 9-10 질문

1

322

1

select 절 함수 문의

1

307

1

제가 작성한 쿼리문도 맞게 쓴걸까요?

1

365

2

select절에서 함수 사용할 때 질문이 있습니다.

1

317

2

as로 컬럼명을 설정한 내용을 하위 코드에서 사용할 수 없는건가요?

1

283

3