메뉴 건너뛰기

Dev tips

DataBase mysql split 함수 (split_str)

taknim 2017.03.14 16:48 조회 수 : 80

[split 함수]

 

DELIMITER $$

 

DROP FUNCTION IF EXISTS `split_str`$$

CREATE FUNCTION `split_str`(
    str TEXT,
    del VARCHAR(1),
    idx INT
) RETURNS text CHARSET utf8
BEGIN
    /**
        문자열에서 특정값으로 배열을 잘라주는 함수 (없으면 빈문자열을 리턴함)
        str: 해당 문자열
        del: 구분자 
        idx: 구분자로 구분한 위치 (1부터 시작함)        
    **/
    RETURN SUBSTR(SUBSTRING_INDEX(str, del, idx),LENGTH(SUBSTRING_INDEX(str, del, idx - 1)) + IF(idx > 1, 2, 1));
END$$

 

DELIMITER ;

 

[작동 확인]

SELECT split_str('a|b|c', '|', 1);
SELECT split_str('a|b|c', '|', 2);

번호 제목 글쓴이 날짜 조회 수
82 [MySQL] FIND_IN_SET 배열 형식의 값을 비교할 때 사용 taknim 2017.10.18 18
» mysql split 함수 (split_str) taknim 2017.03.14 80
80 [MSSQL] DataBase 안에 있는 procedure에 텍스트 내용을 검색 프로시저 생성 taknim 2015.11.19 1325
79 sqlite3 테이블 정보 관련 쿼리 taknim 2014.03.22 3627
78 [MSSQL] mdf 파일로 DB 복원하기 taknim 2013.08.28 4645
77 [MySQL] 전체 테이블 mysqlcheck repair & optimize taknim 2013.06.11 5238
76 [oracle] isqlplus 에서 특수문자(&) 입력하는 방법 taknim 2012.08.10 16045
75 [오라클] 프로시저 확인하기 taknim 2011.10.04 8060
74 오라클9i 에서 MD5 암호화 taknim 2010.06.08 13022
73 [MSSQL] MS-SQL 동적쿼리 이용하기 taknim 2009.12.28 16928
72 [oracle] PLSQL에서 LONG RAW DATA DML 하기 taknim 2009.09.25 12324
71 [oracle] 실행계획 보기, 토드 설정법 explain plan taknim 2009.09.24 12140
70 [MySQL] 사용자 계정 관리하기 (추가/변경/삭제) taknim 2009.09.18 10030
69 [mysql] mysqlbinlog 실행시 캐릭터셋(utf8) 오류 taknim 2009.08.25 15747
68 [mysql] 동적 쿼리 생성시 변수를 대입하거나 값을 받아오기 taknim 2009.08.17 17152
67 [MSSQL] sp_who2 를 대신할 sql 코드 file taknim 2009.08.13 10915
66 [MSSQL] 변수를 TABLE로 선언 후 데이터 입력 taknim 2009.07.30 11681
65 [ORACLE] Flashback (과거시점에서 질의실행) taknim 2009.07.06 10135
64 [Oracle] DBNEWID Utility - DBNAME,DBID변경하기 taknim 2009.07.06 15565
63 [Oracle] INSERT … ON DUPLICATE KEY UPDATE taknim 2009.06.25 13537