MySQL initcap Function
MySQL 에서는 initcap 함수를 제공하지 않으므로
사용자 정의 함수(User-defined function) 로 만들어 사용해야 한다.
-- 각 단어의 앞글자만 대문자로 치환한다.
-- Ex. oRacle -> Oracle, the oRacle -> The Oracle
-- char 길이는 환경에 맞게 설정
CREATE FUNCTION `initcap`(x char(30)) RETURNS char(30) CHARSET utf8
BEGIN
SET @str = '';
SET @l_str = '';
WHILE x REGEXP ' ' DO
SELECT SUBSTRING_INDEX(x, ' ', 1) INTO @l_str;
SELECT SUBSTRING(x, LOCATE(' ', x) + 1) INTO x;
SELECT CONCAT(@str, ' ', CONCAT(UPPER(SUBSTRING(@l_str, 1, 1)), LOWER(SUBSTRING(@l_str, 2)))) INTO @str;
END WHILE;
RETURN LTRIM(CONCAT(@str, ' ', CONCAT(UPPER(SUBSTRING(x, 1, 1)), LOWER(SUBSTRING(x, 2)))));
END
반응형
'Database > MySQL' 카테고리의 다른 글
MySQL DB 사이즈 증가량 추이 (0) | 2022.09.07 |
---|---|
MySQL Utility MYSQLDIFF 사용법 (Schema 비교) (0) | 2022.09.01 |
댓글