반응형
문자열 결합
- 문자열 결합이란 문자열 데이터를 결합하는 연산을 말한다.
- 문자열을 결합하는 연산자에는 데이터베이스 제품마다 방언이 있어서 차이가 있다.
+ || CONCAT SUBSTRING TRIM CHARACTER_LENGTH
데이터베이스 제품별 문자열 결합 연산자
- +: SQL Server
- ||: Oracle, DB2, PostgreSQ
- CONCAT: MySQL
- 연산자, || 연산자, CONCAT함수로 문자열을 결합할 수 있다!
- 문자열 결합은 2개의 열 데이터를 모아서 1개의 열로 처리하고 싶은 경우에 자주 사용한다.
문자열 결합 예시
SELECT * FROM world.countrylanguage c ;
위의 테이블 countrylanguage Language열과 CountryCode열의 데이터를 결합해보자.
mysql> SELECT CONCAT(c.CountryCode,"_", c.Language) FROM world.countrylanguage c;
oracle> SELECT c.CountryCode || c.Language FROM world.countrylanguage c;
sql server> SELECT c.CountryCode + c.Language FROM world.countrylanguage c;
countrylanguage의 Language열은 Varchar형의 열이고, CountryCode열은 Char형이다.
CONCAT함수를 이용해 두 열을 결합하였다.
데이터 타입이 다르더라도 데이터의 결합도 문제없이 연산할 수 있다.
문자열 + 수치형 데이터를 결합하여도 문제가 없다.
단, 문자열과 수치형 데이터를 결합한 결과는 문자열형이 된다.
SUBSTRING 함수
- 문자열의 일부분을 계산해서 반환해주는 함수
- 데이터베이스에 따라서는 함수명이 SUBSTR인 경우도 있다.
앞 4자리(년도) 추출
SUBSTRING('20140125001', 1, 4) -> '2014'
#SUBSTRING('문자열', 몇 째 자리부터, 추출할 개수)
5째자리부터 2자리(월) 추출
SUBSTRING('20140125001', 5, 2) -> '01'
TRIM 함수
- 문자열의 앞뒤로 여분의 스페이스가 있을 경우 이를 제거해주는 함수로
- 문자열 도중에 존재하는 스페이스는 제거되지 않는다.
- 고정길이 문자열형에 대해 많이 사용하는 함수이다.
TRIM('ABC ') -> 'ABC'
CHARACTER_LENGTH 함수
- OCTET_LENGTH 함수: 문자열의 길이를 바이트 단위로 계산해 돌려주는 함수
문자세트 별 문자 수와 바이트 수
👉 결과
문자세트문자 수바이트 수
EUC-KR | 12 | 19 |
UTF-8 | 12 | 26 |
문자열 데이터의 길이는 문자세트에 따라 다르다!
반응형
'자격증 > SQLD' 카테고리의 다른 글
[SQL 첫걸음] 15강. CASE문으로 데이터 변환하기 (0) | 2022.04.04 |
---|---|
[SQL 첫걸음] 14강. 날짜 연산 (0) | 2022.04.04 |
[SQL 첫걸음] 12강. 수치 연산 (0) | 2022.04.04 |
[SQL 첫걸음] 11강. 결과 행 제한하기- LIMIT (0) | 2022.04.04 |
[SQL 첫걸음] 10강. 복수의 열을 지정해 정렬하기 (0) | 2022.04.04 |