1 minute read

안녕하세요, 킹래빗입니다.

오늘은 SQL에서 자주 사용하고 또 종종 헷갈리는 문자열 함수를 정리해봤어요!

저는 주로 MYSQL을 사용하고 있어서 MYSQL 함수로 정리했으니 참고해주세요.

» 문자열을 이어보자

CONCAT(문자열, 문자열)

복수의 문자열을 잇는 함수입니다. 이어서 쓰고 싶은 문자열 두개를 넣어줍니다.

SELECT CONCAT('ABC', 'DEF'); -- 'ABCEDF'를 반환
» 몇번째 글자까지만 가져오기

LEFT(문자열, 길이) 또는 RIGHT(문자열, 길이)

왼쪽 또는 오른쪽에서 길이만큼 문자를 끊어줍니다. 첫 변수에는 끊어줄 문자열을, 다음 변수에는 몇 자리까지 문자열을 가져올지 숫자를 넣어주면 됩니다.

SELECT LEFT('가나다라마바사', 4); -- '가나다라'를 반환
» 문자열 특정 부분 가져오기

SUBSTRING(문자열, 시작위치, 길이)

약간 헷갈릴 수 있는 함수인데요, 특정 부분을 가져오는 용도로 사용합니다.

어떤 부분을 가져올지는 시작위치와 길이 변수를 넣어서 정합니다.

예를 들어 긴 문자열에서 5번째부터 8번째까지 문자열만 가져오고 싶다면 시작위치로 5, 길이로 3을 넣어주시면 됩니다.

SELECT SUBSTRING('가나다라마바사', 3, 2); -- '다라'를 반환 
» 특정 문자로 문자열 끊어서 가져오기

SUBSTRING_INDEX(문자열, 구분자, 횟수)

역시 약간 헷갈리지만 문자열을 특정 문자로 끊어서 가져올 때 자주 사용하는 함수입니다.

예를 들어서 url을 마침표 또는 ‘/’로 구분해서 특정 부분만 가져오고 싶다면, 구분자 변수에 마침표 또는 ‘/’를 넣어주시면 됩니다.

‘횟수’는 구분자로 문자열을 끊었을 때 몇번째까지 문자열을 가져오겠다~는 걸 의미합니다. 만약 횟수 변수에 음수를 집어넣으면 거꾸로 오른쪽부터 세서 문자열을 반환합니다.

SELECT SUBSTRING_INDEX('[www.google.com](http://www.google.com)', '.', 2); 
--  'www.google'을 반환
» 몇번째 소수점 자리까지만 표시하기

FORMAT(숫자, 소수점 자릿수)

두번째 변수에 자릿수를 넣으면 그 소수점 자릿수까지만 숫자를 표시해주는 함수입니다. 또 천단위마다 콤마를 표시해주는 기능도 있어요.

SELECT FORMAT(12345.6789, 2) -- 12,345.67 을 반환
» 소문자 <-> 대문자 변환하기

UPPER(문자열), LOWER(문자열)

함수 뜻 그대로 UPPER는 알파벳 소문자를 대문자로 바꿔주고, LOWER는 대문자를 소문자로 변환해줍니다.

SELECT UPPER('abcdefg'); -- 'ABCEDFG'를 반환
» 문자 몇개인지 길이 확인하기

CHAR_LENGTH(문자열)

역시 말 그대로 문자열이 글자 몇 개인지를 반환해주는 함수입니다.

SELECT CHAR_LENGTH('ABCDEF'); -- 6을 반환
» 문자의 아스키코드값 확인하기

ASCII(아스키 코드)

각 문자에는 아스키코드가 할당되어 있는데요, 문자의 아스키 코드가 무엇인지 반환해주는 함수입니다.

SELECT ASCII('A');  -- 65를 반환
» 숫자를 문자로 바꿔보자(아스키 코드)

CHAR(숫자)

이 함수는 ASCII 함수의 반대라고 보시면 될 것 같아요. 숫자를 넣으면 아스키 코드 숫자에 해당하는 문자를 반환해줍니다.

SELECT CHAR(65); -- 'A'를 반환

Tags: ,

Categories:

Updated: