LTRIM , RTRIM , TRIM
LTRIM(문자열), RTRIM(문자열)
은 문자열의 왼쪽/오른쪽 부분의 모든 공백을 삭제합니다.
단, 문자열 가운데의 공백은 사라지지 않습니다.
SELECT LTRIM(' HELLO'), RTRIM('HI ');
TRIM(문자열)은 왼쪽 오른쪽 구분없이 모든 공백을 삭제해줍니다.
SELECT TRIM(' HI '); # HI
그런데
TRIM(방향 '자를문자' FROM ' 대상문자');
와 같은 문법으로
공백이 아닌 특정 문자를 삭제하도록 구문을 지정할 수도 있습니다.
방향은 BOTH(양쪽), LEADING(왼쪽), TRAILING(오른쪽);
중 하나를 고르면 됩니다.
SELECT TRIM(TRAILING '1' FROM '11111111111HI1111111111111'), TRIM(LEADING '1' FROM '11111111111HI1111111111111'), TRIM(BOTH '1' FROM '11111111111HI1111111111111');
REPEAT / REPLEACE / REVERSE
REPEAT(문자열, 정수)
는 문자열을 정수 횟수만큼 반복합니다.
SELECT REPEAT('ㅋ', 10); # ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
REPLEACE(문자열, 찾을 문자열, 바꿀 문자열);
은 문자열에서 찾을 문자열을 찾아서 바꿀 문자열로 교체합니다.
SELECT REPLACE('HELLOWORLDHELLOWORLDHELLOWORLD', 'WORLD', 'MySQL');
REVERSE(문자열);
은 문자열을 인덱스 역순으로 재배치해줍니다.
SELECT REVERSE('MySQL');
SPACE / SUBSTRING
SPACE(길이)
길이만큼 공백을 채워줍니다.
SELECT CONCAT('My', SPACE(10), 'SQL');
SUBSTRING(문자열, 시작위치, 길이);
SUBSTRING(문자열 FROM 시작위치 FOR 길이);
는
시작위치부터 길이만큼의 문자를 반환합니다.
길이를 생략하고 SUBSTRING(문자열, 시작위치)로 실행하면
시작지점부터 끝까지 모든 문자를 반환합니다.
SELECT SUBSTRING('가나다라마바사아자', 6, 4), SUBSTRING('가나다라마바사아자', 6), SUBSTRING('가나다라마바사아자' FROM 6 FOR 4);