UPPER(칼럼)
: 칼럼의 데이터를 모두 대문자로 변환
LOWER(칼럼)
: 칼럼의 데이터를 모두 소문자로 변환
INITCAP(칼럼)
: INITIAL CAPITAL, 첫 글자는 대문자 나머지는 소문자로 변환
SELECT
EMAIL
, UPPER(EMAIL)
, LOWER(EMAIL)
, INITCAP(EMAIL)
FROM
EMPLOYEES;
FIRST_NAME 칼럼에서 'JAMES' 조회하기
SELECT EMPLOYEE_ID, FIRST_NAME, LAST_NAME
FROM EMPLOYEES
WHERE FIRST_NAME = INITCAP('JAMES');
LENGTH(칼럼)
: 칼럼 데이터의 글자 수 반환
LENGTHB(칼럼)
: 칼럼 데이터의 바이트 수 반환
SELECT
LENGTH('HELLO'), LENGTHB('HELLO')
, LENGTH('안녕'), LENGTHB('안녕')
FROM
DUAL;
||
연산자CONCAT(A, B)
: A와 B를 연결
- CONCAT 함수의 인수(arguments)는 2개만 지원
- A와 B와 C의 연결
① CONCAT(A, B, C)불가능
② CONCAT(CONCAT(A, B), C)가능
SELECT
FIRST_NAME || ' ' || LAST_NAME AS FULL_NAME
, CONCAT(CONCAT(FIRST_NAME, ' '), LAST_NAME) AS FULL_NAME
FROM
EMPLOYEES;
SUBSTR(칼럼, BEGIN, LENGTH)
칼럼 데이터의 BEGIN 위치부터 LENGTH만큼 반환
BEGIN은 인덱스가 아니다. (BEGIN은 1부터 시작)
SELECT
SUBSTR(FIRST_NAME, 1, 3) -- 1번째 글자부터 3글자를 가져옴
FROM
EMPLOYEES;
INSTR(칼럼, 찾을문자열)
반환되는 위치는 인덱스가 아니다. (1부터 시작)
찾는 문자열이 없으면 0을 반환
SELECT
INSTR(EMAIL, 'A') -- 'A'의 위치를 반환
FROM
EMPLOYEES;
LPAD(칼럼, 전체폭, 채울문자)
SELECT
LPAD(DEPARTMENT_ID, 3, 0) -- 왼쪽에 0을 채워서 3자리로 조회
, LPAD(NVL(DEPARTMENT_ID, 0), 3, 0)
FROM
EMPLOYEES;
RPAD(칼럼, 전체폭, 채울문자)
SELECT
RPAD(SUBSTR(EMAIL, 1, 2), 5, '*') -- 오른쪽에 *를 채워서 5자리로 조회
FROM
EMPLOYEES;
LTRIM(칼럼)
: 칼럼 데이터의 왼쪽 공백 제거
RTRIM(칼럼)
: 칼럼 데이터의 오른쪽 공백 제거
TRIM(칼럼)
: 칼럼 데이터의 양쪽 공백 제거
SELECT
LENGTH(LTRIM(' HELLO'))
, LENGTH(RTRIM('HELLO '))
, LENGTH(TRIM(' HELLO '))
FROM
DUAL;