MariaDB / 함수 / SUBSTRING, SUBSTRING_INDEX / 문자열 추출하는 함수

SUBSTRING

12345678의 5번째부터 끝까지 문자열을 추출합니다.

SELECT SUBSTRING( '12345678', 5 );
+----------------------------+
| SUBSTRING( '12345678', 5 ) |
+----------------------------+
| 5678                       |
+----------------------------+
SELECT SUBSTRING( '12345678' FROM 5 );
+--------------------------------+
| SUBSTRING( '12345678' FROM 5 ) |
+--------------------------------+
| 5678                           |
+--------------------------------+

12345678의 5번째부터 2개의 문자열을 추출합니다.

SELECT SUBSTRING( '12345678', 5, 2 );
+-------------------------------+
| SUBSTRING( '12345678', 5, 2 ) |
+-------------------------------+
| 56                            |
+-------------------------------+
SELECT SUBSTRING( '12345678' FROM 5 FOR 2 );
+--------------------------------------+
| SUBSTRING( '12345678' FROM 5 FOR 2 ) |
+--------------------------------------+
| 56                                   |
+--------------------------------------+

추출할 문자열의 개수가 모자르면 가능한만큼만 추출합니다.

SELECT SUBSTRING( '12345678', 5, 10 );
+--------------------------------+
| SUBSTRING( '12345678', 5, 10 ) |
+--------------------------------+
| 5678                           |
+--------------------------------+

SUBSTRING_INDEX

SUBSTRING_INDEX( string, delimiter, count )

12.34.56.78을 .으로 구분하면 4개의 문자열이 나오는데, 그 중 앞에서 3개를 추출합니다.

MariaDB [(none)]> SELECT SUBSTRING_INDEX( '12.34.56.78', '.', 3 );
+------------------------------------------+
| SUBSTRING_INDEX( '12.34.56.78', '.', 3 ) |
+------------------------------------------+
| 12.34.56                                 |
+------------------------------------------+

음수인 경우 뒤쪽에서 추출합니다.

MariaDB [(none)]> SELECT SUBSTRING_INDEX( '12.34.56.78', '.', -2 );
+-------------------------------------------+
| SUBSTRING_INDEX( '12.34.56.78', '.', -2 ) |
+-------------------------------------------+
| 56.78                                     |
+-------------------------------------------+

Related Posts

MariaDB / Query / GROUP BY

MariaDB / Query / GROUP BY

예제로 사용한 데이터베이스는 employees입니다. GROUP BY를 사용하면 공통 데이터를 갖고 있는 행들을 집계할 수 있습니다. 예를 들어 사번이 10001인 사원의 급여 지급 내역을 알고 싶다면 다음과 같이 쿼리합니다. SELECT emp_no, salary FROM salaries WHERE emp_no = 10001; +--------+--------+ | emp_no | salary | +--------+--------+ | 10001 | 60117 | | 10001 | 62102 | | ...

MariaDB / 함수 / CONCAT, CONCAT_WS / 문자열 합치는 함수

MariaDB / 함수 / CONCAT, CONCAT_WS / 문자열 합치는 함수

예제로 사용한 데이터베이스는 employees입니다. CONCAT CONCAT은 문자열을 이어주는 함수입니다. 예를 들어 CONCAT( first_name, last_name )는 first_name의 값과 last_name의 값을 이어서 출력합니다. MariaDB > SELECT first_name, last_name, CONCAT( first_name, last_name ) FROM employees LIMIT 5; +------------+-----------+---------------------------------+ | first_name | last_name | CONCAT( first_name, last_name ) | +------------+-----------+---------------------------------+ | Georgi | Facello | GeorgiFacello ...

MariaDB / TABLE / AUTO_INCREMENT / 자동으로 증가하는 값 만들기

MariaDB / TABLE / AUTO_INCREMENT / 자동으로 증가하는 값 만들기

테이블에는 데이터를 특정할 수 있는 고유값이 있는 게 좋습니다. 고유값을 수동으로 넣을 수는 없으므로, 값을 자동으로 증가시키는 AUTO_INCREMENT를 사용합니다. AUTO_INCREMENT로 고유값이 어떻게 만들어지는지 알아보겠습니다. 사용하는 테이블 이름은 test입니다. 자동으로 증가하는 열 만들기 열 이름은 id, 데이터 타입은 정수(INT)로 만듭니다. 데이터 타입 뒤에 AUTO_INCREMENT PRIMARY KEY를 붙입니다. MariaDB > CREATE TABLE test ( id INT AUTO_INCREMENT ...

MariaDB / DATA / 데이터 추가(INSERT), 수정(UPDATE), 삭제(DELETE)

MariaDB / DATA / 데이터 추가(INSERT), 수정(UPDATE), 삭제(DELETE)

데이터베이스와 테이블 만들기 test 데이터베이스를 만듭니다. MariaDB > create database test; Query OK, 1 row affected (0.00 sec) test 데이터베이스를 사용합니다. MariaDB > use test; Database changed table_1 테이블을 만듭니다. MariaDB > CREATE TABLE table_1 ( -> column_1 varchar(100), -> column_2 varchar(100), -> column_3 varchar(100) -> ...

MariaDB / 함수 / REPEAT / 문자열 반복하여 출력하는 함수

MariaDB / 함수 / REPEAT / 문자열 반복하여 출력하는 함수

개요 REPEAT는 문자열을 반복하여 출력하는 함수입니다. REPEAT( string, count ) string : 반복될 문자열 count : 반복 횟수 예제 123을 4번 반복하여 출력합니다. SELECT REPEAT( '123', 4 ); +---------------------+ | REPEAT( '123', 4 ) | +---------------------+ | 123123123123 | +---------------------+ 반복 횟수가 1 미만이면 빈 문자열을 출력합니다. SELECT REPEAT( '123', 0 ); +--------------------+ | REPEAT( '123', 0 ) ...

MariaDB / TABLE / 열 추가하기, 열 삭제하기, 열 순서 변경하기, 열 데이터 타입 변경하기

MariaDB / TABLE / 열 추가하기, 열 삭제하기, 열 순서 변경하기, 열 데이터 타입 변경하기

데이터베이스 만들기 열(Column) 추가, 삭제 등을 해볼 테스트용 데이터베이스 jbTest를 만듭니다. CREATE DATABASE jbTest; 데이터베이스로 들어갑니다. USE jbTest; jbColumn1, jbColumn2, jbColumn3 세 개의 열을 가진 테이블 jbTable1을 만듭니다. CREATE TABLE jbTable1 ( jbColumn1 INT, jbColumn2 INT, jbColumn3 INT ) ; 다음은 현재 테이블 구조입니다. MariaDB > DESC jbTable1; +-----------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | ...

MariaDB / Query / DISTINCT / 중복 데이터 제거

MariaDB / Query / DISTINCT / 중복 데이터 제거

DISTINCT를 이용하면 중복 값을 제거할 수 있습니다. 예를 들어 다음과 같은 test 테이블이 있다고 할 때... MariaDB > SELECT * FROM test; +---------+---------+---------+ | Column1 | Column2 | Column3 | +---------+---------+---------+ | 1 | A | 1 ...

MariaDB / 함수 / FIND_IN_SET / 특정 문자열의 위치를 출력하는 함수

MariaDB / 함수 / FIND_IN_SET / 특정 문자열의 위치를 출력하는 함수

FIND_IN_SET은 특정 문자열의 위치를 출력하는 함수입니다. FIND_IN_SET( pattern, string_list ) A, B, C, D에서 B가 몇 번째 위치하는지를 출력합니다. 두 번째에 있으므로 출력하는 값은 2입니다. SELECT FIND_IN_SET( 'B', 'A,B,C,D' ); +-------------------------------+ | FIND_IN_SET( 'B', 'A,B,C,D' ) | +-------------------------------+ | ...

MariaDB / 사용자 만들기, 사용자 삭제하기, 권한 부여하기, 권한 제거하기

MariaDB / 사용자 만들기, 사용자 삭제하기, 권한 부여하기, 권한 제거하기

사용자 만들기 사용자 이름 jb, 내부에서만 접속 가능, 비밀번호 1234 MariaDB > create user 'jb'@'localhost' identified by '1234'; Query OK, 0 rows affected (0.00 sec) 사용자 이름 jb, 어디에서나 접속 가능, 비밀번호 1234 MariaDB > create user 'jb'@'%' identified by '1234'; Query OK, 0 rows affected (0.00 sec) 사용자 목록 보기 mysql 데이터베이스 사용 MariaDB > use mysql; Host, User ...

MariaDB / DBeaver / 테이블 만들기, 삭제하기

MariaDB / DBeaver / 테이블 만들기, 삭제하기

테이블 만들기 데이터베이스를 선택하고 마우스 우클릭합니다. 을 클릭하면... 다음과 같은 화면이 나옵니다. 테이블 이름을 정하고... 마우스 우클릭 후 을 클릭하거나, 아래에 있는 아이콘을 클릭하여... 열을 만듭니다. 를 클릭하고... 를 클릭하면... 테이블이 만들어집니다. 테이블 삭제하기 테이블을 선택하고 마우스 우클릭 후 를 클릭합니다. 를 클릭하면 테이블이 삭제됩니다.