SELECT RPAD('Oracle', 20, '#')
from DUAL;
RPAD('ORACLE',20,'#')
----------------------------------------
Oracle##############
SELECT LTRIM(' Oracle ')
from DUAL;
LTRIM('ORACLE')
------------------
Oracle
SELECT RTRIM(' Oracle ')
from DUAL;
RTRIM('ORACLE')
------------------
Oracle
SELECT LENGTH(' Oracle ')
from DUAL;
LENGTH('ORACLE')
----------------
12
SELECT LENGTH(RTRIM(' Oracle '))
from DUAL;
LENGTH(RTRIM('ORACLE'))
-----------------------
9
SELECT LENGTH(TRIM(' Oracle '))
from DUAL;
LENGTH(TRIM('ORACLE'))
----------------------
6
SELECT 'abcde' as "문자열"
replace('abcde', 'ab', '**') as "replace"
from DUAL;
문자열 replace
---------- ----------
abcde **cde
SELECT ename as "이름"
REPLACE (ename, SUBSTR(ename, 1, 2), '**' as "replace"
FROM emp;
SELECT ename as "이름",
REPLACE (ename, SUBSTR(ename, 1, 2), '**' as "replace"
FROM emp;
이름 replace
-------------------- ----------
SMITH **ITH
ALLEN **LEN
WARD **RD
JONES **NES
MARTIN **RTIN
BLAKE **AKE
CLARK **ARK
SCOTT **OTT
KING **NG
TURNER **RNER
ADAMS **AMS
JAMES **MES
FORD **RD
MILLER **LLER
SELECT SYSDATE-1 어제,
SYSDATE 오늘,
SYSDATE+1 내일
FROM DUAL;
어제 오늘 내일
-------- -------- --------
24/01/15 24/01/16 24/01/17
SELECT ENAME,
TRUNC(SYSDATE-HIREDATE) || '일' as "근무일수"
from EMP;
COLUMN '근무일수' FORMAT A10
/
ENAME 근무일수
-------- ----------
SMITH 15735일
ALLEN 15670일
WARD 15668일
JONES 15629일
MARTIN 15450일
BLAKE 15600일
CLARK 15561일
SCOTT 13336일
KING 15400일
TURNER 15470일
ADAMS 13336일
JAMES 15384일
FORD 15384일
MILLER 15333일
📁TO_CHAR
날짜형 / 숫자형을 문자형으로 변환한다.
TO_CHAR(날짜 데이터, '출력형식')
| 종류 | 의미 |
|---|---|
| YYYY | 연도 표현(4자리) |
| YY | 연도 표현(2자리) |
| YEAR | 단어로 된 연도(ex NINETEEN EIGHTY) |
| MM | 월을 숫자로 표현 |
| MONTH | 단어로 된 달(ex NOVEMEMBER) |
| MON | 월을 표현(ex APRIL) |
| DAY | 요일 표현(ex SATURDAY, 토요일) |
| DY | 요일을 약어로 표현(ex SAT, 토) |
2022년 11월 16일 수요일 오후 05:01:02
이런 형식으로 현재 날짜와 시간을 출력하는 문장
SELECT TO_CHAR(SYSDATE, 'YYYY"년"MM"월"DD"일" DAY PM HH:MI:SS') "현재시간"
from DUAL;
현재시간
-----------------------------------
2024년01월18일 목요일 오전 08:37:39
| 구분 | 설명 |
|---|---|
| 0 | 자릿수를 나타내며 자릿수가 맞지 않을 경우 0을 채운다. |
| 9 | 자릿수를 나타내며 자릿수가 맞지 않아도 채우지 않는다. |
| L | 각 지역별 통화 기호를 앞에 표시한다. |
| . | 소수점 |
| , | 천 단위 자리 구분 |
📁TO_DATE
SELECT TRUNC(SYSDATE-TO_DATE('2023/12/26', 'YYYY/MM/DD'))||'일' as "경과일"
from DUAL;
경과일
----------
23일
📁TO_NUMBER
SELECT TO_NUMBER('20,000', '99,999') - TO_NUMBER('10,000', '99,999')
from DUAL;
TO_NUMBER('20,000','99,999')-TO_NUMBER('10,000','99,999')
---------------------------------------------------------
10000
DECODE (컬럼명, 조건1, 결과1,
조건2, 결과2,
조건3, 결과3,
기본결과n(생략 가능)
);
CASE 표현식 WHEN 조건1 THEN 결과1
WHEN 조건2 THEN 결과2
WHEN 조건3 THEN 결과3
ELSE 결과n(생략가능)
END