#5 DBMS _SELECT문_3

정진형·2021년 11월 2일
0

DBMS

목록 보기
5/11
post-thumbnail

oracleDB XE11g R2, DBeaver 21.2.3

wihdow10

-- CONCAT(char1, char2) = || : 문자열의 연결
SELECT	CONCAT('Hello', 'bye'), CONCAT('good', 'bye')
FROM	dual
;

SELECT	CONCAT('good', 'bye') concats,
		'good' || 'bad' operators
FROM	dual
;

-- INITCAP(char) : 첫 글자를 대문자로
SELECT	INITCAP('good morning')
FROM	dual
;

SELECT	INITCAP('GOOD MORNING')
FROM	dual
;

-- 대소문자 LOWER(char), UPPER(char)
SELECT	LOWER('GOOD'), UPPER('GOOD')
FROM	dual
;

-- LPAD(값, 총 문자길이, 채움문자)
SELECT	LPAD('good', 6) "LPAD1",
	LPAD('good', 7, '#') "LPAD1",
    	LPAD('good', 8, 'L') "LPAD3"
FROM	dual    
;

-- RPAD(값, 총 문자길이, 채움문자)
SELECT	RPAD('good', 6) "RPAD1",
	RPAD('good', 7, '#') "RPAD1",
    	RPAD('good', 8, 'L') "RPAD3"
FROM	dual    
;

-- LTRIM(문자열, 옵션) : 문자열을 옵션만큼 왼쪽에서 제거
SELECT	LTRIM('goodbye', 'g'),
	LTRIM('goodbye', 'o'),
    	LTRIM('goodbye', 'go'),
        LTRIM('goooooooodbye', 'go')
FROM	dual    
;

-- RTRIM(문자열, 옵션) : 문자열을 옵션만큼 오른쪽에서 제거
SELECT	RTRIM('goodbye', 'e'),
	RTRIM('goodbye', 'i')
FROM	dual    
;

-- substr(문자열, 시작위치, 길이)
-- 시작위치	 1 2 3 4 
--		 g o o d
SELECT	SUBSTR('good morning john', 1, 4)
FROM	dual
;

-- 			1 2 3 4 5 6 7 8 
-- 시작위치			      1 2 3 4
-- 			g o o d   m o r n i n g
SELECT	SUBSTR('good morning john', 8, 4)
FROM	dual
;

-- 시작위치(8)부터 전부
SELECT	SUBSTR('good morning john', 8)
FROM	dual
;

-- 시작위치 끝에서 4번째
SELECT	SUBSTR('good morning john', -4)
FROM	dual
;

-- REPLACE(char, src_str, rep,str) : 문자열 일부를 대체
SELECT	REPLACE('good morning tom', 'morning', 'evening')
FROM	dual
;

SELECT	REPLACE('You are not alone', 'You', 'We')
FROM	dual
;

-- TRANSLATE(문자열, 대상문자, 변환문자) : 1대1 대응
SELECT	TRANSLATE('You are not alone uuuuuu', 'You', 'Wei'),
	TRANSLATE('You are not alone uuooYY', 'You', 'Wei'),
    	TRANSLATE('You are not alone uuuu', 'You', 'Wei')
FROM	dual
;

-- SYSDATE : 현재서버의 시간
SELECT	SYSDATE FROM dual;
;

-- ADD_MONTHS(시간, 추가 시간)
-- 7개월 후
SELECT	ADD_MONTHS(SYSDATE, 7) FROM dual;
;

-- LAST_DAY(시간) : 현재 달의 마지막 날짜
SELECT	LAST_DAY(SYSDATE) FROM dual;

-- SYSDATE + (INTERVAL 시간 '추가시간' 시간단위) : 시간 추가
SELECT	SYSDATE + (INTERVAL '1' YEAR),
	SYSDATE + (INTERVAL '1' MONTH),
    	SYSDATE + (INTERVAL '1' DAY),
        SYSDATE + (INTERVAL '1' HOUR),
        SYSDATE + (INTERVAL '1' MINUTE),
        SYSDATE + (INTERVAL '1' SECOND),
        SYSDATE
FROM	dual
;

-- TO_CHAR() : 문자열 변환
SELECT	SYSDATE,
	TO_CHAR(SYSDATE, 'yyyy/mm/dd'),
    	TO_CHAR(SYSDATE, 'yyyy-mm-dd'),
        TO_CHAR(SYSDATE, 'yyyymmdd'),
        TO_CHAR(SYSDATE, 'yyyy-mm-dd HH24:MI:SS'),
        TO_CHAR(SYSDATE, 'yyyy-mm-dd HH12:MI:SS'),
FROM dual
;

-- NVL() : 널 값을 다른 데이터로 변경하는 함수
SELECT	FIRST_NAME, LAST_NAME, COMMISSION_PCT,
	NVL(COMMISSION_PCT, 0) commition
FROM	EMPLOYEES e
;

-- DECODE() : switch문 역활을 하는 함수
SELECT	DEPARTMENTS_ID,
		DECODE(DEPARTMENTS_ID, 20, 'MA', 60, 'IT', 90, 'EX', 'ETC')
FROMA	DEPATRMENTS d
;



0개의 댓글