✏️ STUDY/📍 data

[SQL 기초] 날짜함수 / REPLACE / SUBSTR

나무울 2023. 6. 12. 22:42

 

 

https://youtu.be/Sk-g7m4YBhI

위 강의를 보고 실습하면서 정리한 내용입니다.

 


 

날짜함수

  • 날짜 데이터를 조작하는 함수
  • 현재 날짜와 시간을 조회
    SELECT NOW();
  • 현재 날짜로부터 3달 후 날짜 출력
    SELECT DATE_ADD(NOW(), INTERVAL 3 MONTH);
  • 현재 날짜로부터 3달 전 날짜 출력
    SELECT DATE_SUB(NOW(), INTERVAL 3 MONTH);
  • 현재 날짜만 조회
    SELECT CURDATE();
  • 현재 시간만 조회
    SELECT CURTIME();
  • 날짜 포맷 변경
    SELECT DATE_FORMAT(NOW(), '%Y%m%d%H%i%s');
    # %H는 시간을 24시간 단위로 표기, %I는 시간을 12시간 단위로 표기
    SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s');
    # 출력값: 2023-06-12 21:38:38

 


 

REPLACE

  • 특정 문자를 다른 문자로 대체하는 함수
  • 코드라이언에서 '코드'를 'CODE'로 대체
    SELECT REPLACE('코드라이언', '코드', 'CODE');
  • 대체할 단어를 별도로 지정해주지 않으면 '코드'라는 단어가 NULL이 되어서 사라진다
    SELECT REPLACE('코드라이언', '코드')
  • 핸드폰 번호에서 특정 기호를 삭제
    SELECT REPLACE('010-1234-5678', '-')
  • SQL에서 엔터 키는 특정 기호로 표시되는데, 해당 기호를 없애고 싶을 경우 엔터키를 의미하는 인자값을 뒤에 넣고  REPLACE 함수를 사용한다
    SELECT REPLACE('안녕하세요
    코드라이언입니다.',  CHAR(10). ' '); 
  • 테이블 내 데이터를 활용하기
    SELECT REPLACE(CAST_MEMBER, '이지은', '아이유') FROM NETFLIX_CAST;
    # CAST_MEMBER에 있는 '이지은' 데이터를 '아이유'로 변경한다

 


 

SUBSTR

  • 문자를 원하는 만큼 자르는 함수
  • SELECT SUBSTRING('코드라이언', 3, 2);
    # '코드라이언'이라는 문자에서 세 번째 자리부터 두 글자를 가져온다 (라이)
  • SELECT SUBSTRING('코드라이언', 3);
    # 맨 마지막 인자값을 생략하는 경우
    # '코드라이언'이라는 문자에서 세 번째 자리부터 문자의 끝까지를 가져온다 (라이언)
  • SELECT SUBSTRING('코드라이언', -4, 3);
    # 자릿수가 마이너스일 경우, 문자를 뒤에서부터 센다 (드라이)
  • CONCAT: 문자열 연결
    CONCAT(문자열 1, 문자열 2)

 

[실습]

# 가운데 이름을 '*' 기호로 변경하기
SELECT CONCAT(SUBSTRING(CAST_MEMBER, 1, 1), '*', SUBSTRING(CAST_MEMBER, 3)) FROM NETFLIX_CAST;

# 20자까지만 출력을 하고 말 줄임표 넣기
SELECT CONCAT(SUBSTRING('미국 캘리포니아에 본사를 둔 우주개발 회사 오비탈 어셈블리가 2027년 세계 최초로 우주 호텔을 가동할 계획이라고 IT매체 BGR이 8일 보도한다.', 1, 20), '......');