* 해당 게시물 태그 캡처 안에는 잔상이 남아 있습니다.
추후 수정할 예정이나, 언제가 될지는 저도 모르겠습니다. ;;
UPPER
- '문자' 값을 대문자로 변환하는 함수.
LOWER
- '문자' 값을 소문자로 변환하는 함수.
INITCAP
- '문자' 값의 이니셜만 대문자로 변환하는 함수.
LENGTH / LENGTHB
- LENGTH : '문자' 길이를 구하는 함수
- LENGTHB: '문자' 바이트 수를 구하는 함수
SUBSTR
- SUBSTR('문자열', 시작점, 반환할 개수)
- 시작점이 양수인 경우 앞부터, 시작점이 음수인 경우 뒤부터 센다.
-
활용: hiredate을 가진 emp 테이블에서 사원명, 년도, 월을 칼럼으로 뽑아 보세요.
SELECT ename, SUBSTR(hiredate, 1, 2), SUBSTR(hiredate, 4, 2) FROM emp;
-
활용 : hiredate을 가진 emp 테이블에서 사원명, 년도, 월을 칼럼으로 뽑고, 년도 앞에 '19'를 붙여 네 자리로 표현한 뒤 칼럼 이름을 지정해 주세요.
-
활용 : 입사월이 9월인 사람의 사원명, 년도, 달을 뽑아 보세요.
SELECT ename, 19||SUBSTR(hiredate, 1,2) as "YEAR",
SUBSTR(hiredate, 4,2) as "MON" FROM emp
WHERE SUBSTR(hiredate, 4,2)='09';
SUBSTRB
- SUBSTRB('문자열', 시작점, 반환할 개수)
- 시작점이 양수인 경우 앞부터, 시작점이 음수인 경우 뒤부터 센다.
- STRSTR와 다른 점은, 바이트 개수를 반환한다는 점이다.
- 한글은 한 글자에 2Byte 값을 가진다는 것을 유념하자.
SELECT SUBSTR('HelloWorld to Oracle', 6, 5) AS "SUBSTR",
SUBSTRB('HelloWorld to Oracle', 6, 5) AS "SUBSTRB"
FROM dual;
SELECT SUBSTR('헬로우월드 투 오라클', 3, 2) AS "SUBSTR",
SUBSTRB('헬로우월드 투 오라클', 3, 2) AS "SUBSTRB" FROM dual;
INSTAR
- 특정 문자의 위치를 구하는 함수
- INSTAR('문자', '특정 문자', 시작점, 몇 번째 발견)
- 시작점이 양수인 경우 앞부터, 시작점이 음수인 경우 뒤부터 센다.
SELECT INSTR('HelloWorld to Oracle', 'o') FROM dual;
SELECT INSTR('HelloWorld to Oracle', 'o', 6, 2) FROM dual;
LPAD / RPAD
- LPAD : 왼쪽 정렬 후, 생긴 빈 공백을 문자로 채우는 함수
- RPAD: 오른쪽 정렬 후, 생긴 빈 공백을 문자로 채우는 함수
SELECT LPAD('ORACLE', 20, '#') FROM dual;
SELECT RPAD('ORACLE', 20, '*') FROM dual;
LTRIM / RTRIM
- LTRIM: 왼쪽의 공백 (whitespace)을 전부 삭제하는 함수.
- RTRIM: 오른쪽의 공백 (whitespace)을 전부 삭제하는 함수.
- 유의 : 공백만 있을 때 사라진다는 점을 유의하자. 문자가 하나라도 들어가 있으면 의도한 것으로 본다.
TRIM
- 특정 문자를 잘라내는 함수
- TRIM('특정 문자' FROM '문자열') / 특정 문자를 지정하지 않으면 공백이 사라진다.
- 특정 문자 앞이나 뒤에 공백이 있는 경우나, 대소문자가 다른 경우 잘라내지지 않는다.