Database/Oracle
Oracle Datebase - 함수_단일행 함수_문자처리함수
seandoesdev
2023. 7. 28. 01:40
INITCAP( 컬럼명| 표현식)
각 단어라기보다 공백으로 구분된 각각의 문자들의 첫 문자를 대문자로 바꾸고, 나머지 문자는 소문자로 변경하여 반환하는 함수이다.
SELECT INITCAP('HELLO ORACLE DB')
FROM DUAL;
UPPER( 컬럼명| 표현식)
모든 문자를 대문자로 변환하여 반환하는 함수이다.
SELECT UPPER('Do you know sql') AS "UPPER"
FROM DUAL;
LOWER( 컬럼명| 표현식)
모든 문자를 소문자로 변경하여 반환하는 함수이다.
SELECT LOWER('HEL LOW sql')
FROM DUAL;
CONCAT( 컬럼명| 표현식, 컬럼명2| 표현식2)
두 개의 문자열을 연결해주는 함수이다.
SELECT CONCAT('아저씨', '발냄새나요')
FROM DUAL;
LENGTH( 컬럼명| 표현식)
문자열 길이를 반환하는 함수이다.
SELECT LENGTH('LENGTH')
FROM DUAL;
INSRT( 컬럼명| 표현식, 검색값, [m ,n] )
문자열에서 특정 문자가 나타나는 위치를 반환한다.
SELECT INSTR('MILLER' , 'L', 1 , 2 ), INSTR('MILLER' , 'X', 1 , 2 )
FROM dual;
-- 1번째 문자부터 시작해서 2번째로 일치하는 문자의 위치를 반환한다.
-- 프로그래밍 언어와 달리 문자의 인덱스는 1부터 시작한다.
SUBSTR( 컬럼명| 표현식, m [,n] )
문자열에서 일부분의 문자열을 추출하는 함수이다.
SELECT SUBSTR('900303-1234567' , 8 , 1 )
FROM dual;
-- 주어진 문자의 8번째부터 1개의 문자열을 반환한다.
SELECT SUBSTR('900303-1234567' , 8 )
FROM dual;
-- 8번째부터 나머지 문자열 전부를 반환한다.
SELECT SUBSTR('900303-1234567' , -8 )
FROM dual;
--뒤에서 8번째부터 나머지 모든 문자열을 반환한다.
REPLACE( 컬럼명| 표현식, 's1', 's2' )
특정 문자열을 다른 문자열로 대체하는 함수이다.
SELECT REPLACE('JACK and JUE' , 'J' , 'BL' )
FROM dual;
LPAD( 컬럼명| 표현식, n , 'str' )
문자열을 오른쪽 정렬 후에 특정 문자를 왼쪽부터 지정한 문자로 채우는 함수이다.
SELECT LPAD('MILLER' , 10 , '*' )
FROM dual;
RPAD( 컬럼명| 표현식, n , 'str' )
문자열을 왼쪽 정렬 후에 특정 문자를 오른쪽부터 지정한 문자로 채우는 함수이다.
SELECT RPAD('MILLER' , 10 , '*' )
FROM dual;
SELECT SUBSTR('900303-1234567',1,8)||'******' 주민번호
FROM dual;
SELECT RPAD(SUBSTR('900303-1234567',1,8),14,'*' ) 주민번호
FROM dual;
SELECT REPLACE( '900303-1234567', SUBSTR('900303-1234567', 9 ) , '*****' )
FROM dual;
LTRIM( 컬럼명| 표현식, ‘str' )
문자열의 첫 문자 부터 시작해서 지정된 문자와 일치하지 않는 문자가 나올 때까지 계속적으로 해당문자를 제 거하는 함수이다.
SELECT LTRIM('MILLER', 'M')
FROM dual;
SELECT LTRIM(' MILLER '), LENGTH(LTRIM(' MILLER '))
FROM dual;
RTRIM( 컬럼명| 표현식, ‘str' )
문자열의 마지막 문자부터 시작해서 지정된 문자와 일치하지 않는 문자가 나올 때까지 계속적으로 해당문자를 제거하는 함수이다.
SELECT RTRIM('MILLER', 'R')
FROM dual;
SELECT RTRIM(' MILLER '), LENGTH(RTRIM(' MILLER '))
FROM dual;
TRIM
TRIM( LEADING 'str' FROM 컬럼명|표현식 )
TRIM( TRAILING 'str' FROM 컬럼명|표현식 )
TRIM( BOTH 'str' FROM 컬럼명|표현식 )
문자열의 양쪽을 모두 삭제하는 함수이다.
SELECT TRIM( '0' FROM '0001234567000' )
FROM dual;
SELECT TRIM( LEADING '0' FROM '0001234567000' )
FROM dual;
--왼쪽만 삭제한다.
SELECT TRIM( TRAILING '0' FROM '0001234567000' )
FROM dual;
--오른쪽만 삭제한다.