1. 문자함수
A. UPPER -- 모든 문자를 대문자로 변환시켜주는 함수
B. LOWER -- 모든 문자를 소문자로 변환시켜주는 함수
C. INITCAP -- 첫글자만 대문자로 변환시키고 나머지 글자는
-- 모두 소문자로 변환시켜주는 함수
------------------------------------------------------------------
SELECT JOB,UPPER(JOB), LOWER(JOB),INITCAP(JOB)
FROM EMP
WHERE JOB ='sAleSMan'
<<값>>
JOB UPPER(JOB) LOWER(JOB) INITCAP(JOB)
sAleSMan SALESMAN salesman Salesman
------------------------------------------------------------------
D. CONCAT -- 두개의 문자열을 연결시켜주는 함수
------------------------------------------------------------------
SELECT NAME,JIK,
CONCAT(NAME,JIK) -- 두개만 붙일 수 있다.
FROM TBL_NEWSAWON;
<값>
NAME JIK CONCAT(NAME,JIK)
한석규 사장 한석규사장
두석규 부장 두석규부장
세석규 과장 세석규과장
네석규 사원 네석규사원
오연수 사원 오연수사원
------------------------------------------------------------------
SELECT NAME,JIK,JUBUN,
--CONCAT(NAME,JIK || JUBUN),
CONCAT(CONCAT(NAME,JIK), JUBUN )
FROM TBL_NEWSAWON;
<값>
NAME JIK JUBUN CONCAT(CONCAT(NAME,JIK),JUBUN)
한석규 사장 7110031234567 한석규사장7110031234567
두석규 부장 7210031234567 두석규부장7210031234567
세석규 과장 7310031234567 세석규과장7310031234567
네석규 사원 7410031234567 네석규사원7410031234567
오연수 사원 7510032234567 오연수사원7510032234567
일용이 부장 8110031234567 일용이부장8110031234567
DESC TBL_SAWON;
------------------------------------------------------------------
E. SUBSTR --특정 문자열에서 특정한 일부부만 추출할 때 사용 하는 함수이다.
----------------------------------------------------------------------------
SELECT 'KH정보교육원',
SUBSTR('KH정보교육원',1,4), -- 첫번째 글자에서 4번째까지 뽑아라
SUBSTR('KH정보교육원',2,4),
SUBSTR('KH정보교육원',3) -- 세번째 글자부터 끝까지 뽑아라
FROM DUAL;
<값>
KH정보교육원 KH정보 H정보교 정보교육원
------------------------------------------------------------------------------------
SELECT NAME,SUBSTR(JUBUN,1,6),JIK
FROM TBL_NEWSAWON;
<퀴즈> TBL_NEWSAWON 테이블에서 여자만
사원번호, 사원명, 직급을 나타내세요.
<값>
SELECT JUBUN,SANO,NAME, JIK
FROM TBL_NEWSAWON
WHERE SUBSTR (JUBUN,7,1)=2 OR SUBSTR (JUBUN,7,4)=4; -- IN (2,4)
------------------------------------------------------------------------------------
SELECT 'KH정보교육원',
SUBSTRB('KH정보교육원',1,4), -- B는바이트를 뜻한다. 첫~4바이트까지
SUBSTRB('KH정보교육원',2,4),
SUBSTRB('KH정보교육원',4)
FROM DUAL;
<값>
'KH정보교육원' SUBSTRB('KH정보교육원',1,4) SUBSTRB('KH정보교육원',2,4)
KH정보교육원 KH정
SUBSTRB('KH정보교육원',4)
H정보교육원
------------------------------------------------------------------------------------
F. REVERSE -- 행당 문자열로 거꾸로 보여 주는 함수이다.
------------------------------------------------------------------------------------
SELECT 'ORACLE','KH정보교육원',
REVERSE('ORACLE'), -- 거꾸로 돌린다는 것
REVERSE ('KH정보교육원')
FROM DUAL;
<값>
ORACLE KH정보교육원 ELCARO 貶걋낢맏ㅑHK
------------------------------------------------------------------------------------
SELECT JUBUN, REVERSE(JUBUN)
FROM TBL_NEWSAWON;
<값>
7110031234567 7654321300117
7210031234567 7654321300127
7310031234567 7654321300137
------------------------------------------------------------------------------------
G. INSTR -- 어떤 문자열에서 특정글자가 나오는 위치값을 알려주는 함수이다.
------------------------------------------------------------------------------------
SELECT 'KH정부교육원 통신정보학',
INSTR('KH정부교육원 통신정보학', '정보',1,1),
INSTR('KH정부교육원 통신정보학', '정보',4,1),
INSTR('KH정부교육원 통신정보학', '정보',1,2),
INSTR('KH정부교육원 통신정보학', '정보',1,3),
INSTR('KH정부교육원 통신정보학', '정보',2),
INSTR('KH정부교육원 통신정보학', '정보',4)
FROM DUAL;
<값>
KH정부교육원 통신정보학 11 11 0 0 11 11
------------------------------------------------------------------------------------
–- 테이블 생성
CREATE TABLE TBL_FILEINFO
(FILENO NUMBER
,FILENAME VARCHAR2(500)
);
<<값 넣기>>
INSERT INTO TBL_FILEINFO VALUES
(1, 'C:\MYDOCUMENT\SALES\W010년11월영업계획.DOC');
INSERT INTO TBL_FILEINFO VALUES
(2, 'D:\ORACLESTUDY.TXT');
INSERT INTO TBL_FILEINFO VALUES
(3, 'C:\MUSIC\MP3\KOREA\DONGYO\학교종이땡땡땡.MP3');
COMMIT;
SELECT *
FROM TBL_FILEINFO;
-------------------------------------------------------------------------------
<문제>
1 C:\MYDOCUMENT\SALES\W010년11월영업계획.DOC
2 D:\ORACLESTUDY.TXT
3 C:\MUSIC\MP3\KOREA\DONGYO\학교종이땡땡땡.MP3
최종 파일 네임만 나타내 주세요.
<<답>>
SELECT SUBSTR(FILENAME,1,1),
REVERSE (SUBSTR (REVERSE (FILENAME),1, INSTR (REVERSE (FILENAME),'\',1,1)-1))
FROM TBL_FILEINFO;
<값>
C W010년11월영업계획.DOC
D ORACLESTUDY.TXT
C 학교종이땡땡땡.MP3
------------------------------------------------------------------------------
H. LENGTH -- 문자열의 길이를 나타내는 함수
SELECT LENGTH('KH정보교육원'), LENGTH('KH 정보교육원')
FROM DUAL;
--> 7 (문자열의 길이를 나타남) , 8
SELECT LENGTHB('KH정보교육원'), LENGTHB('KH 정보교육원')
FROM DUAL;
--> 12 , 13
---------------------------------------------------------------------------
I. LPAD -- PAD는 채운다는 의미(LEFT PAD 약자) 왼쪽부터 채워라
J. RPAD -- RIGHT PAD 약자 오른쪽부터 채워라
SELECT LPAD('KH정보교육원', 20,'S')
FROM DUAL; --
-- 1. 20Byte를 확보해라(20글자가 아니다.)
-- 2. 확보한 20 byte 공간 안에 KH정보교육원(12BYTE)D을 넣어라.
-- 3. KH정보교육원(12BYTE)을 넣고 남은 왼쪽 빈공간에
-- 'S'를 넣어 채워라.
--> SSSSSSSSKH정보교육원
SELECT LPAD('KH정보교육원', 20,'한국')
FROM DUAL;
--> 한국한국KH정보교육원
SELECT LPAD('*',6,'*')
FROM DUAL;
-- --> ******
---------------------------------------------------------------------------
--TRIM --TRIM은 잘라내는 것
-- LTRIM / RTRIM
SELECT 'BDABBABCAAACCDAABBCC',
LTRIM('BCABBABCAAACCDAABBCC','BAC')
-– 왼쪽부터 잘라나가다가 D 를 만나서 그만
FROM DUAL;
<< 결과 값>>
--> BDABBABCAAACCDAABBCC DAABBCC
-- ==> LTRIM 은 출발점이 왼쪽
-- BAC 가 나오면 TRIM(삭제)
-- 그러므로 ABC에 포함되지 않은 D 가 나올 때까지
-- 왼쪽부터 삭제한 후 그 결과 값을 보여준다.
--> BDABBABCAAACCDAABBCC BCABBABCAAACCD (RTRIM의 결과 값)
SELECT '김성훈 멋지다.',
'KH정보교육원' || '김성훈 멋지다. '
FROM DUAL;
<<결과 값>>
-- > 김성훈 멋지다. KH정보교육원 김성훈 멋지다.
SELECT LTRIM('김성훈 멋지다.'),
'KH정보교육원' ||
LTRIM('김성훈 멋지다. ')
FROM DUAL;
<<결과 값>>
-- > 김성훈 멋지다. KH정보교육원김성훈 멋지다.
SELECT '대'||'한민국'||'짝짝짝짝짝~!',
'대'||LTRIM('한민국')||'짝짝짝짝짝~!',
'대'||RTRIM('한민국')||'짝짝짝짝짝~!'
FROM DUAL;
<<결과 값>>
--> 대 한민국 짝짝짝짝짝~!
--> 대한민국 짝짝짝짝짝~!대 한민국짝짝짝짝짝~!
--> 대 한민국짝짝짝짝짝~!
'IT. 컴퓨터' 카테고리의 다른 글
[오라클] 날짜함수, 숫자함수 (0) | 2020.06.13 |
---|---|
[오라클] LPAD, RPAD, LENGTH, TRANSLATE, LIKE (0) | 2020.06.11 |
[오라클] null 은 연산 안됨, 문자, 날짜, 연산자, 정렬함수 (0) | 2020.06.06 |
[오라클] 괄호, AND, OR, NOT, =, !=,(^=, <>) (0) | 2020.06.04 |
[오라클] 트리거로 백업 (0) | 2020.06.02 |