TIL(24.11.11)

채채·2024년 11월 11일

Today I Learned

목록 보기
5/75

▶SQL

SQL은 사전캠프 강의를 완강했으므로, 본 캠프 전까지 퀘스트와 프로그래머스 문제로 복습 및 새로운 함수 학습예정.

오늘의 퀘스트 key point.

timestampdiff(unit, date1, date2)
datediff(date1, date2)
date_add(date, INTERVAL value unit)
#4 근무기간 구하기
select name,
       concat(
       timestampdiff(year, hire_date, curdate()), '년',' ',
       timestampdiff(month, hire_date, curdate()) %12, '개월',' ',
       datediff(curdate(), date_add(hire_date, interval timestampdiff(month, hire_date, curdate()) month)), '일'
       ) 근무기간
from doctors

한 줄 씩 살펴보면,

  • timestampdiff(year, hire_date, curdate())
    ->hire_date와 현재날짜 사이의 년 차이를 구하기 '년'
  • timestampdiff(month, hire_date, curdate()) %12
    ->hire_date와 현재 날짜 사이의 월차이를 구한 후 12로 나누고 나머지를 구하기 '개월'
  • datediff(curdate(), date_add(hire_date, interval timestampdiff(month, hire_date, curdate()) month))
    -> date_add(hire_date, interval timestampdiff(month, hire_date, curdate()) month) 보면, 고용날짜에 현재날짜 사이의 개월수를 더해줌. 그래야 datediff를 사용하여 현재날짜와 고용날짜 사이의 일 수를 구할 수 있음.

각각 구한 값을 '년' '개월' '일'로 별명을 지어주고, concat으로 묶어서
ex) '3년 6개월 3일' 형식으로 표시되도록 함.

▶Python

점프 투 파이썬과 프로그래머스 문제풀이로 공부를 진행하려함.

점프 투 파이썬👍👍👍
https://wikidocs.net/11
프로그래머스
https://programmers.co.kr/

  • 특수문자 출력하기
print(r'!@#$%^&*(\'"<>?:;')   #r을 쓰면 문자열 그대로 출력
  • 연산자
#사칙연산은 기호 그대로 사용가능 (+,-,*,/)
a ** b    #a의 b제곱
a % b     #a 나누기 b의 나머지
a // b    #a 나누기 b의 몫

#복합연산자
a = a + 1  과  a += 1 는 같은 식
+=, -=, *=, /=, //=, %=, **= 등이 있음
  • 문자열 만드는 방법 4가지
'a'
"a"
'''a'''
"""a"""
  • 이스케이프 코드
코드설명
\n문자열 안에서 줄을 바꿀 때 사용
\t문자열 사이에 탭 간격을 줄 때 사용
\\ \를 그대로 표현할 때 사용
\'작은따옴표(')를 그대로 표현할 때 사용
\"큰따옴표(")를 그대로 표현할 때 사용

▶오늘의 소감

그 동안은 강의 듣고 퀘스트 풀이, 아티클스터디만 해왔는데, 프로그래머스(python, SQL)스터디가 추가 되었다.
처음 만나는 Python의 개념익히기와 문제풀이는 정말, 정말 어려웠다.
새로운 개념을 익히는게 쉽지는 않지만, 언제나처럼 어느새 익숙해져 있겠지!
YOU GOT THIS!

profile
화이팅

0개의 댓글