MySQL 문자열 함수 [MySQL]

2022. 1. 17. 18:50·MySQL

 

 

 

1.  MySQL 문자열 함수의 종류


많이 사용하는 문자열 함수의 종류는 아래와 같다.

함수 이름 설명
CONCAT(문자열, 문자열) 문자열을 합쳐준다.
SUBSTRING(문자열, 시작, 끝) 문자열을 기준에 따라 나눠준다.
REPLACE(문자열, target, replace) 문자열 중의 target에 해당하는 부분을 replace로 바꾼다.
REVERSE(문자열) 문자열을 거꾸로 뒤집는다.
CHAR_LENGTH(문자열) 문자열의 길이를 반환한다.(공백도 포함)
UPPER(문자열) 문자열을 대문자로 전부 변환하여 반환한다.
LOWER(문자열) 문자열을 소문자로 전부 변환하여 반환한다.

이제 예시를 통해 하나씩 알아가보도록 하자.

 

 

 

 

 

2. 예시로 알아보는 MySQL 문자열


 

- 오늘의 예시 테이블: school

id name grade class
1 짱구 2 1
2 주영 2 2
3 민아 3 1

 

- 테이블 생성

 CREATE TABLE school(
 id int auto_increment not null primary key,
 name varchar(20),
 grade int,
 class int);

 

- 테이블에 정보 입력

INSERT INTO school(name, grade, class)
VALUES("짱구", 2, 1),
("주영", 2, 2),
("민아", 3, 1);

 

 

 

  • CONCAT()

SELECT name, 
	CONCAT(grade, "-", class) AS classRoom
 FROM school;
  • 뒤에 AS 를 붙이면 자신이 원하는 이름으로 설정할 수 있다.
  • AS를 붙이지 않으면 열이름이 CONCAT(grade, "-", class) 로 적혀서 더러워 보일 수 있다.
  • 학년과 반을 붙여 반 이름을 출력해주는 코드이다.

 

- 결과

name classRoom
짱구 2-1
주영 2-2
민아 3-1

 

 

 

  • SUBSTRING / SUBSTR

테이블에 있는 정보가 너무 짧으니 다른 예시로 보도록 하자.

SELECT SUBSTRING('this is mysql', 1, 4);
 
SELECT SUBSTRING('this is mysql', 7);
 
SELECT SUBSTRING('this is mysql', 3, 8);

- 결과

> this

> s mysql

> is is my
  • 일반 프로그래밍 언어와는 다르게 문자열의 시작 1부터 시작이다.
  • 두 개의 숫자를 적으면 두 숫자 인덱스만큼의 숫자가 출력된다.
  • 반면 하나의 숫자만 적으면 그 숫자에 해당하는 인덱스부터 출력된다.
  • SUBSTR로 줄여 쓸 수 있다.

 

 

 

  • REPLACE

SELECT REPLACE(name, "구", "아") AS name
	, grade, class
FROM school;
  • 특정 문자를 다른 문자를 전부 바꿔준다.

 

- 결과

name grade class
짱아 2 1
주영 2 2
민아 3 1
  • 짱구의 "구"를 "아"로 바꿨기 때문에 짱아로 표시되는 것을 볼 수 있을 것이다.

 

 

 

  • REVERSE

SELECT REVERSE(name) AS name
FROM school;
  • 문자열을 뒤집어준다.

 - 결과

name
구짱
영주
아민
  • 글자가 전부 뒤집어서 출력된다.

 

 

 

  • CHAR_LENGTH

SELECT CHAR_LENGTH("this is mysql");

SELECT CHAR_LENGTH("length");
  • 문자열의 길이를 출력해준다.

 

- 결과

> 13

> 6

 

 

 

  • UPPER / LOWER

SELECT UPPER("This is MySQL");

SELECT LOWER("This is MySQL");
  • UPPER는 문자열 전부를 대문자로 변환해 반환한다.
  • 반면, LOWER는 소문자로 변환해 반환해준다.

- 결과

> THIS IS MYSQL 

> this is mysql
'MySQL' 카테고리의 다른 글
  • [Real MySQL] MySQL 역사와 버전 비교 (MySQL 8.0 vs 5.7)
  • DISTINCT, GROUP BY 로 중복 제거 하기 [MySQL]
  • DBMS의 기본?! MySQL CRUD [MySQL]
  • DB의 틀을 만들어보자 - 데이터베이스 및 테이블 생성 [MySQL]
gakko
gakko
좌충우돌 개발기
  • gakko
    MYVELOP 마이벨롭
    gakko
  • 전체
    오늘
    어제
    • 분류 전체보기 (212) N
      • 끄적끄적 (6)
      • Spring (21)
      • Java (3)
      • NestJS (1) N
      • Redis (2)
      • Test (3)
      • 대외활동 (36)
        • 부스트캠프 (23)
        • IT커뮤니티 (5)
        • 글또 (5)
        • 컨퍼런스 (3)
      • Infra (5)
        • Docker (1)
        • Jenkins (1)
        • AWS (1)
      • CS (26)
        • 자료구조 (13)
        • 운영체제 OS (12)
        • 데이터베이스 (1)
      • MySQL (7)
      • Git & GitHub (16)
        • Git (12)
        • Github Actions (1)
        • 기타(마크다운 등) (3)
      • 프로젝트 (1)
      • 리눅스 (6)
        • 기초 (6)
        • 리눅스 서버 구축하기 (0)
      • 후기 (3)
        • Udemy 리뷰 (3)
      • Python (12)
      • 레거시모음 (64)
        • 스프링 (11)
        • 자바 클래스&메소드 (1)
        • 오류해결 (18)
        • JSP & Servlet (12)
        • 자바스크립트 기초 (3)
        • React (2)
        • 이클립스 (1)
        • 알고리즘 문제풀이 (16)
      • 디자인패턴 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 우진님
  • 공지사항

  • 인기 글

  • 태그

    알고리즘
    자바
    MySQL
    Python
    파이썬
    Git
    부스트캠프 멤버십
    운영체제
    os
    Spring
    GitHub
    스프링
    jsp
    웹개발
    오류해결
    자바스크립트
    java
    부스트캠프 7기
    부스트캠프
    스프링부트
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.0
gakko
MySQL 문자열 함수 [MySQL]
상단으로

티스토리툴바