728x90
반응형
--[DUAL] SELECT DISTINCT 5+10, 6*3 FROM EMP; SELECT 5+10, 6*3 FROM DUAL; DESC DUAL; -- DUAL 확인 |
|
--[ROUND] SELECT ROUND(345.678) FROM DUAL; SELECT ROUND(345.678, 0) FROM DUAL; --346 SELECT ROUND(345.678, 2) FROM DUAL; --345.68 SELECT ROUND(345.678, -1) FROM DUAL; --350 --ROUND(값, 자리수) => ROUND(날짜, YEAR) SELECT HIREDATE, ROUND(HIREDATE, 'MONTH') 일수반올림 ,ROUND(HIREDATE, 'YEAR') 월수반올림 FROM EMP WHERE DEPTNO = 10; |
|
--[MOD] SELECT MOD (34,2), MOD (34, 5), MOD(34,7) FROM DUAL; --0 4 6 --사번이 짝수인 사원들의 EMPNO, ENAME, JOB을 출력 SELECT EMPNO, ENAME, JOB FROM EMP WHERE MOD(EMPNO, 2) =0; |
|
--[FLOOR]소숫점 자리수를 무조건 버림(정수자리값만, 반올림x) SELECT FLOOR (345.678) FROM DUAL; --345 |
|
--[CEIL]소수점 자리수를 무조건 버리고 정수자리값 무조건 올림처리 SELECT CEIL (345.118) FROM DUAL; --346 |
|
--[SYSTIMESTAMP] SELECT SYSTIMESTAMP FROM DUAL; --24/01/15 11:47:04.074000000 +09:00 |
|
--[SYSDATE] SELECT SYSDATE FROM DUAL; --24/01/15 SELECT SYSDATE 오늘 , SYSDATE-1 AS "어제", SYSDATE +1 AS "내일" FROM DUAL; |
|
--회원정보 테이블에서 10번부서에 해당되는 사람들의 입사한 일차를 구하세요. SELECT DEPTNO, EMPNO, ENAME, SYSDATE, HIREDATE, ROUND((SYSDATE-HIREDATE)/365) AS "년차" FROM EMP WHERE DEPTNO = 10; |
|
--ROUND(값, 자리수) => ROUND(날짜, YEAR) SELECT HIREDATE, ROUND(HIREDATE, 'MONTH') 일수반올림 ,ROUND(HIREDATE, 'YEAR') 월수반올림 FROM EMP WHERE DEPTNO = 10; |
|
-[LOWER] [UPPER] SELECT LOWER(ENAME)소문자로, UPPER ('DataBase') 대문자로, ENAME FROM EMP; SELECT * FROM EMP WHERE ENAME = UPPER('smith'); SELECT * FROM EMP WHERE LOWER(ENAME) = 'smith'; |
|
--[TRUNC] 소숫점기준, 특정 자릿수에서 버림 SELECT TRUNC(234.567, 1), TRUNC(234.567), TRUNC(234.567, -1), TRUNC(234.567, -2) FROM DUAL; SELECT HIREDATE, TRUNC(HIREDATE, 'MONTH') FROM EMP WHERE DEPTNO = 10; |
|
--[INITCAP] 연결된 단어에 한하여, 첫 글자만 대문자로, 나머지는 소문자로 변환 SELECT INITCAP('DATABASE PROGRAM') FROM DUAL; --Database Program SELECT INITCAP('DATA BASE PROGRAM') FROM DUAL; --Data Base Program SELECT ENAME, INITCAP(ENAME) FROM EMP WHERE DEPTNO = 10; |
|
--[CONCAT] 두 개의 단어만 결합가능, SELECT 'Oracle' ||'DataBase' FROM DUAL; --OracleDataBase --필요시 중첩활용 SELECT CONCAT (CONCAT('Oracle',' '),'DataBase') FROM DUAL; --Oracle DataBase |
|
--[LENGTH] [LENGTHB] 글자의 개수, 메모리에 차지하는 바이트 수 SELECT LENGTH ('DATA'), LENGTHB('DATA'), LENGTH ('오라클'), LENGTHB('오라클') FROM DUAL; SELECT DEPTNO, EMPNO, ENAME, LENGTH(ENAME) FROM EMP WHERE DEPTNO = 10; --사원정보 테이블에서 이름이 4자 이하인 사람의 정보를 출력하세요. SELECT * FROM EMP WHERE LENGTH(ENAME) <= 4; |
|
--[SUBSTR] 문자열에서 원하는 문자열만큼 추출할 때 사용하는 함수 SELECT SUBSTR ('DataBase', 2, 3) 양수, SUBSTR ('DataBase', -4, 3) 음수 FROM DUAL; SELECT ENAME, SUBSTR (HIREDATE, 1, 2) FROM EMP WHERE DEPTNO = 20; SELECT ENAME, HIREDATE FROM EMP WHERE SUBSTR (HIREDATE, 1, 2) = '82'; |
|
--[INSTR] 특정 문자의 위치를 반환 SELECT INSTR('DateBase', 'B') FROM DUAL ; --5 SELECT DEPTNO, ENAME, INSTR(ENAME, 'E') FROM EMP WHERE DEPTNO = 30; ---1번째 'a'값을 출력하세요. SELECT INSTR('DataBase', 'a', 3, 1)FROM DUAL; --4 SELECT INSTR('DataBase', 'a', -5, 1)FROM DUAL; --4 |
|
--[LPAD] [RPAD] 특정 기호로 채우기 SELECT LPAD('DataBase', 20, '$'), RPAD('DataBase', 20, '$') FROM DUAL; --해당일자 주문번호 출력시 SELECT '20240115'||LPAD('1', 3, '0') FROM DUAL; |
|
--[TRIM] 특정문자 잘라내기 SELECT LTRIM('aaaaDataBase Programingaaaa', 'a') LTRIM, RTRIM('aaaaDataBase Programingaaaa', 'a') RTRIM, TRIM('a' FROM 'aaaaDataBaseaaa Programingaaaa') TRIM FROM DUAL; |
|
--[TO_CHAR] 해당 값을 문자열로 변환해주는 함수 SELECT SYSDATE, TO_CHAR(SYSDATE, 'YYYY-MM-DD HH12:MI:SS AM DAY') FROM DUAL; SELECT TO_CHAR(SYSDATE, 'AM', 'NLS_DATE_LANGUAGE=AMERICAN') AS AMERICAN, TO_CHAR(SYSDATE, 'AM', 'NLS_DATE_LANGUAGE=KOREAN') AS KOREAN FROM DUAL; |
|
728x90
반응형
'[ORACLE]' 카테고리의 다른 글
[ORACLE] DDL - CREATE, ALTER, DROP, TRUNCATE, RENAME (0) | 2024.01.16 |
---|---|
[ORACLE] DML - INSERT, DELETE, UPDATE, SELECT (0) | 2024.01.16 |
[ORACLE] 연산자 AND, OR, NOT, BETWEEN, IN, LIKE, IS NULL (0) | 2024.01.16 |
[ORACLE] 숫자함수 문자함수 변환함수 조건함수 (0) | 2024.01.15 |
[ORACLE] SQL 명명규칙 (0) | 2024.01.11 |