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' ) |
+-------------------------------+
|                             2 |
+-------------------------------+
  • 일치하는 문자열이 여러 개 있는 경우 첫 번째 문자열의 위치를 출력합니다.
SELECT FIND_IN_SET( 'B', 'A,B,B,D' );
+-------------------------------+
| FIND_IN_SET( 'B', 'A,B,B,D' ) |
+-------------------------------+
|                             2 |
+-------------------------------+
  • 일치하는 문자열이 없는 경우 0을 출력합니다.
SELECT FIND_IN_SET( 'Z', 'A,B,C,D' );
+-------------------------------+
| FIND_IN_SET( 'Z', 'A,B,C,D' ) |
+-------------------------------+
|                             0 |
+-------------------------------+

특정 위치에 있는 문자열을 출력하고 싶다면 ELT 함수를 사용합니다.

같은 카테고리의 다른 글
MariaDB / 사용자 만들기, 수정하기, 삭제하기, 권한 부여하기, 제거하기

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

사용자 목록 보기 mysql 데이터베이스의 user 테이블에서 필요한 정보 출력 SELECT User, Host FROM mysql.user; 사용자 만들기 사용자 이름 jb, 내부에서만 접속 가능, 비밀번호 1234 CREATE USER 'jb'@'localhost' IDENTIFIED BY '1234'; 사용자 이름 jb, 어디에서나 접속 가능, 비밀번호 1234 CREATE USER 'jb'@'%' IDENTIFIED BY '1234'; 사용자 이름 jb, 192.168.0.111에서 접속 가능, 비밀번호 1234 CREATE USER 'jb'@'192.168.0.111' IDENTIFIED BY '1234'; 이미 ...

MariaDB / SELECT 결과를 INSERT하는 방법

MariaDB / SELECT 결과를 INSERT하는 방법

Z_1 테이블에서 a, b, c 열의 데이터를 Z_2 테이블의 x, y, z 열에 삽입한다고 하자. 우선 Z_1 테이블에서 a, b, c 열의 데이터를 가져오는 쿼리를 만든다. SELECT a, b, c FROM Z_1 ; 그 위에 INSERT를 추가한다. INSERT INTO Z_2 ( x, y, z ) SELECT a, b, ...

MariaDB / 함수 / ROUND

MariaDB / 함수 / ROUND

ROUND는 반올림하는 함수이다. 별도 설정을 하지 않으면 소수 첫째 자리에서 반올림한다. SELECT ROUND( 1.4 ); +--------------+ | ROUND( 1.4 ) | +--------------+ | 1 | +--------------+ SELECT ROUND( 1.5 ); +--------------+ | ROUND( 1.5 ) | +--------------+ | 2 ...

MariaDB / 함수 / LEFT, RIGHT / 문자열의 왼쪽 또는 오른쪽의 일부를 출력하는 함수

MariaDB / 함수 / LEFT, RIGHT / 문자열의 왼쪽 또는 오른쪽의 일부를 출력하는 함수

LEFT는 문자열의 왼쪽부터 일정 길이만큼 출력하는 함수입니다. LEFT( string,length ) SELECT LEFT( '12345678', 3 ); +-----------------------+ | LEFT( '12345678', 3 ) | +-----------------------+ | 123 | +-----------------------+ RIGHT는 문자열의 왼쪽부터 일정 길이만큼 출력하는 함수입니다. RIGHT( string, length ) SELECT RIGHT( '12345678', 3 ...

MariaDB / Procedure

MariaDB / Procedure

예제로 사용한 데이터베이스는 employees이다. Procedure Procedure를 이용하면 여러 쿼리를 한 번에 실행할 수 있다. 기본 예제 Procedure 만들기 delimiter를 다른 것으로 변경한다. MariaDB > delimiter ## create procedure로 procedure를 만든다. procedure 이름 뒤에 괄호에는 매개변수가 들어간다. p_departments라는 이름의 매개변수가 없는 Procedure이다. departments 테이블의 모든 데이터를 출력한다. MariaDB > create procedure p_departments() -> begin -> select ...

MariaDB / Query / EVENT / 만들기, 수정하기, 삭제하기

MariaDB / Query / EVENT / 만들기, 수정하기, 삭제하기

EVENT를 사용하기 위한 설정 방법 1 다음과 같이 명령한다. MariaDB를 다시 시작하면 OFF로 변경된다. SET GLOBAL event_scheduler = ON; 방법 2 환경 설정 파일(Ubuntu Server라면 50-server.cnf, Rocky Linux라면 mariadb-server.cnf)에 다음 코드를 추가하고 MariaDB를 다시 시작한다. 영구적으로 적용된다. event_scheduler = ON 설정 상태 확인 SHOW variables LIKE 'event%'; +-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | event_scheduler | ON | +-----------------+-------+ EVENT ...

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

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

ELT는 특정 위치의 문자열을 출력하는 함수입니다. ELT( N, string1, string2, string3, ... ) A, B, C, D에서 2번째의 문자열인 B를 출력합니다. SELECT ELT( 2, 'A', 'B', 'C', 'D' ); +------------------------------+ | ELT( 2, 'A', 'B', 'C', 'D' ) | +------------------------------+ | B ...

DBeaver / MariaDB / 외래 키(Foreign Key) 만들기, 삭제하기

DBeaver / MariaDB / 외래 키(Foreign Key) 만들기, 삭제하기

외래 키(Foreign Key) 만들기 기본 키가 있는 테이블(testTable1)을 만듭니다. 외래 키를 만들 테이블(testTable2)을 만듭니다. 를 클릭합니다. 마우스 우클릭한 후 를 클릭합니다. Column에서 외래 키를 선택하고, Ref Column에서 기본 키를 선택한 후 를 클릭합니다. 를 클릭합니다. 를 클릭하면... 외래 키가 만들어집니다. 외래 키(Foreign Key) 삭제하기 외래 키를 선택한 다음 마우스 우클릭하고 를 클릭합니다. 를 클릭하고... 를 클릭하면 외래 키가 ...

MariaDB / DATABASE / 만들기, 삭제하기, 이름 변경하기

MariaDB / DATABASE / 만들기, 삭제하기, 이름 변경하기

데이터베이스 조회 데이터베이스 목록을 조회한다. SHOW DATABASES; 데이터베이스 만들기 test라는 이름의 데이터베이스를 만든다. CREATE DATABASE test; 이미 존재하는 데이터베이스와 같은 이름의 데이터베이스를 만들려고 하면 에러가 난다. 같은 이름의 데이터베이스가 존재하지 않을 때만 만들고 싶다면 IF NOT EXISTS를 추가한다. CREATE DATABASE IF NOT EXISTS test; 마침표 등 특별한 문자를 포함하는 경우에 에러가 난다. 억음 부호로 이름을 감싸면 에러가 나지 않는다. CREATE DATABASE ...

MariaDB / 함수 / FORMAT / 숫자 세 자리마다 쉼표(콤마) 찍는 함수

MariaDB / 함수 / FORMAT / 숫자 세 자리마다 쉼표(콤마) 찍는 함수

FORMAT은 숫자 세 자리마다 쉼표(콤마) 찍는 함수이다. 예를 들어 다음은 123456789에서 세 자리마다 쉼표를 넣는다. MariaDB > SELECT FORMAT(123456789, 0) as Money; +-------------+ | Money | +-------------+ | 123,456,789 | +-------------+ 값이 숫자 형식이 아니어도 가능하다. MariaDB > SELECT FORMAT('123456789', 0) as Money; +-------------+ | Money | +-------------+ | 123,456,789 | +-------------+ 0이 뜻하는 ...