SQL 첫걸음(ch13. 문자열 연산 ~ ch14. 날짜 연산)

김도형·2022년 10월 4일
0

13장 문자열 연산

문자열 결합

  • "+" : SQL Server
  • "||" : Oracle, DB2, PostgreSQL
  • CONCAT : MySQL

문자열 결합 2개의 열 데이터를 모아서 1개의 열로 처

SELECT * FROM sample35;

quantity : 100
unit : 개

SELECT CONCAT(quantity, unit) FROM sample35;

CONCAT(quantity, unit) : 100개

SUBSTRING 함수

SUBSTRING('원본 문자열', 시작 위치, 가져올 길이)
SUBSTRING('20140125001', 1, 4) // 2014

TRIM 함수

  • 문자열 중에서 스페이스를 제거하는 기능
  • 주로 CHAR 타입에 많이 사용. 그 이유는 문자열 길이가 고정되어 있어 남은 공간이 스페이스로 채워지기 때문에 스페이스 제거하기 위해.

CHARACTER_LENGTH 함수

  • 문자열 길이를 반환해주는 함수
  • CHAR_LENGTH 줄여서 사용하기도 한다.

OCTET_LENGTH

  • 문자열 길이를 바이트 단위로 반환하는 함수

문자세트(character set)

  • EUR-KR(문자세트) : 12개(문자 수) / 19개(바이트 수)
  • UTF-8(문자세트) : 12개(문자 수) / 26개(바이트 수)
  • 문자열 데이터의 길이(바이트 수)는 문자세트에 따라 다르다.

14장 날짜 연산

CURRENT_TIMESTAMP, CURRENT_DATE INTERVAL

  • 시스템 날짜 : 하드웨어 상의 시계로부터 실시간으로 얻을 수 있는 일시적인 데이터
  • RDBMS 에서도 시스템 날짜와 시간을 확인하는 함수를 제공

날짜 데이터 서식 지정

  • TO_DATE : 문자열 데이터 -> 날짜형 데이터
TO_DATE('2014/01/25', 'YYYY/MM/DD')
  • TO_CHAR : 날짜형 데이터 -> 문자열 데이터
TO_CHAR('2014/01/25', 'YYYY/MM/DD')

날짜의 덧셈

날짜를 연산해 시스템 날짜(sysdate)의 1일 후를 검색

SELECT CURRENT_DATE + INTERVAL 1 DAY;

날짜의 뺄셈

  • 두 날짜 사이에 차이를 얼마나 발생하는지 계산 가능

[Oracle]

'2014-02-28' - '2014-01-01'

[MySQL]

DATAEDIFF('2014-02-28', '2014-01-01')

출처 : SQL 첫걸음 아사이 아츠시 지음 [한빛미디어]

profile
3년간 웹/앱, 자동제어 QA 🔜 개발자로 전향하여 현재 교육 회사에서 백엔드 개발자로 근무 중입니다.(LinkedIn : https://www.linkedin.com/in/dohyoung-kim-5ab09214b)

0개의 댓글