메뉴 건너뛰기

Dev tips

DataBase mysql split 함수 (split_str)

taknim 2017.03.14 16:48 조회 수 : 234

[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 [Oracle] ORA-00600, ORA-06544, ORA-06553 오류 발생시 taknim 2009.06.09 23845
81 [mysql] 동적 쿼리 생성시 변수를 대입하거나 값을 받아오기 taknim 2009.08.17 17209
80 [MSSQL] MS-SQL 동적쿼리 이용하기 taknim 2009.12.28 16988
79 [oracle] isqlplus 에서 특수문자(&) 입력하는 방법 taknim 2012.08.10 16071
78 [mysql] mysqlbinlog 실행시 캐릭터셋(utf8) 오류 taknim 2009.08.25 15772
77 [Oracle] DBNEWID Utility - DBNAME,DBID변경하기 taknim 2009.07.06 15576
76 [Oracle] INSERT … ON DUPLICATE KEY UPDATE taknim 2009.06.25 13900
75 bdump,cdump,udump관리하기 - 오라클 taknim 2007.07.16 13597
74 오라클9i 에서 MD5 암호화 taknim 2010.06.08 13063
73 [mysql] DB를 텍스트 파일로, 텍스트 파일을 DB로 taknim 2008.09.22 12872
72 [oracle] PLSQL에서 LONG RAW DATA DML 하기 taknim 2009.09.25 12351
71 * 오라클 생성시 만들어지는 유저들... taknim 2008.06.14 12188
70 [oracle] 실행계획 보기, 토드 설정법 explain plan taknim 2009.09.24 12178
69 MS-SQL 링크드 서버 만들기 taknim 2009.03.20 12176
68 mysql 최초기동시 File './mysql-bin.index' not found (Errcode: 13) taknim 2008.06.27 11870
67 MySQL CSV 파일 import taknim 2008.12.30 11761
66 MySQL에서 Sleep 프로세스 죽이기 taknim 2008.12.11 11736
65 [MSSQL] 변수를 TABLE로 선언 후 데이터 입력 taknim 2009.07.30 11711
64 랜덤(Random)한 숫자/문자 생성하기 | Oracle/오라클 taknim 2006.09.04 11345
63 MSSQL 랜덤스트링 생성 스크립트 taknim 2005.12.14 11245