SQL 문자 함수 (단일행 함수) 에 대해서
단일행 함수는 SELECT, WHERE, ORDER BY 절에 사용할수 있으며, 다중행 함수와는 달리 row 마다 한번씩 처리 하게 된다.
단일행 함수들의 목록
- 문자 함수
- 숫자 함수
- 날짜 함수
- 변환 함수
- 기타 함수
LPAD/RPAD(str, len, padstr)
특정 문자열을 지정된 자릿수만큼 채워서 표시할때 사용된다.
select ename, LPAD(ename, 10, '*'), RPAD(ename, 10, '*') from scott_emp;
REPLACE(str, from_str, to_str)
특정 문자열을 찾아서 다른 문자열로 변경한다.
select REPLACE(ename, 'SC', '*?') from scott_emp;
LTRIM/RTRIM(str)
오른쪽끝/ 왼쪽끝에 나오는 공백이나 특정문자 제거한다.
select LTRIM(' Test'); -- 양쪽 다 제거 select TRIM(' Test ');
INSTR(str, substr)
특정 문자열의 위치를 알려준다. 없을경우 0 이 결과값으로 나타난다.
select INSTR(ename, 'A') from scott_emp;
SUBSTRING(str, pos, len)
문자열을 내는 함수
-- ename의 처음부터 전부다 출력한다. select SUBSTRING(ename, 1) from scott_emp; -- ename의 끝에서 두번째 문자부터 끝까지 나온다. select SUBSTRING(ename, -2) from scott_emp; -- ename의 두번째 글자부터 3글자 빼온다. * 시작위치가 글자 총글자수 보다 크면 empty 값이 나온다. select SUBSTRING(ename, 2, 3 ) from scott_emp;
LENGTH(str)
문자열의 글자개수를 나타낸다.
select LENGTH('Test');
CONCAT(str1, str2)
문자열을 붙여준다.
select CONCAT('Test', 'Man'); -- 문자열 형태가 아니더라도 파싱하여 문자열로 만들어 출력해준다. select CONCAT(now(), 'cewcc'); -- null 과 합치 하려 결과는 null 값이 출력된다. select CONCAT(null, 'Man');
UPPER/LOWER(str)
문자열을 대문자 및 소문자로 변환시켜준다.
select upper('ddfewV'), lower('eEFWEFcWE');
mysql syntax 기준으로 작성 되었습니다.
No Comments