목록전체 글 (216)
IT STUDY LOG
# 그룹함수 집계 함수 집계란 하나 이상의 데이터를 대상으로 한 일종의 통계정보 단일 행 함수와 달리 전체 집합, 그룹으로 분류된 집합에 작용 DISTINCT 지정 시 중복되지 않은 값만 검토하고 ALL을 지정하면 중복값 포함 인자의 개수가 하나 소그룹을 지을 경우 GROUP BY 절을 써주어야 함 그룹함수의 동작 방식 - 건건이 결과를 보여주는 것이 아닌 여러 행의 연산 결과를 하나로 보여줌 # 그룹 함수 종류 SELECT COUNT(sal), SUM(sal), AVG(sal), MIN(sal), MAX(sal) FROM emp; SELECT COUNT(comm), SUM(comm), AVG(comm), MIN(comm), MAX(comm) FROM emp; COUNT 예시 - COUNT(*) : NU..
# 일반 함수 NVL 함수 - NULL값을 다른 값으로 바꿀 때 사용하며, 데이터 타입이 일치해야 함 SELECT ename, sal, comm , sal + comm "total1" , sal + NVL(comm, 0) "total2" FROM emp; NVL2 함수 - exp1, exp2, exp3을 인자로 받아들이며, exp1이 null이 아닐 경우 exp2를 리턴하고, exp1이 null일 경우 exp3을 리턴 - 데이터 타입이 일치해야 함 SELECT ename, mgr, NVL2(mgr, mgr, 9999) "total3" FROM emp; NULLIF 함수 - exp1, exp2가 일치할 경우 NULL, 불일치할 경우 exp1을 반환하며, 데이터 타입이 일치해야 함 SELECT NULLIF(..
# 암시적 변환 ||, LIKE 명령어, 문자 함수 SELECT '500', 300, '500' + 300 FROM dual; SELECT * FROM emp WHERE deptno = '20'; -- 숫자 컬럼이나 암시적으로 변환 SELECT * FROM emp WHERE hiredate = '81/09/08'; -- 문자값을 날짜값으로 암시적으로 변환 # 명시적 변환 TO_CHAR - 숫자나 날짜 데이터를 문자 데이터로 변환 SELECT SYSDATE, TO_CHAR(SYSDATE), 123450000, TO_CHAR(123450000) FROM dual; 숫자 -> 문자 포맷팅 SELECT empno, sal * 100 * 12 , TO_CHAR(sal * 100 * 12, 'L999,999,999..
# 날짜 함수 MONTHS_BETWEEN - 두 날짜 간의 경과 개월 수 SELECT ename, hiredate, MONTHS_BETWEEN(SYSDATE, hiredate) FROM emp; ADD_MONTHS - 날짜에 지정한 수의 개월을 더함 SELECT SYSDATE, ADD_MONTHS(SYSDATE, 3) FROM dual; NEXT_DAY - 지정한 날짜 이후 중 지정한 요일에 해당하는 날짜 SELECT SYSDATE, NEXT_DAY(SYSDATE, '금요일'), NEXT_DAY(SYSDATE, '토') FROM dual; LAST_DAY - 해당 월의 마지막 날짜 리턴 SELECT SYSDATE, LAST_DAY(SYSDATE) FROM dual; ROUND, TRUNC ROUND : ..
# 오라클 DB 날짜 체계 -- 오라클DB는 세기, 연도, 월, 일, 시, 분, 초 형태의 내부 숫자형식으로 날짜 지정 -- 한글OS : YY/mm/dd, 영문OS : dd-mmm-yyyy -- 도구 > 환경설정 > 데이터베이스 > NLS에서 설정 변경: YYYY/MM/DD HH24:MI:SS SELECT ename, sal, hiredate FROM emp WHERE deptno = 30; 날짜 관련 기본 함수 날짜 타입 DATE : 세기, 연도, 월, 일, ... 초 TIMESTAMP : 위와 동일 + 초 아래 6~9자리에 해당되는 시간대 정보 제공 함수 차이 (1) sys : DB 서버가 존재하는 지역의 시간으로 표시 (2) current_ : SQL 언어를 구사하는 지역의 시간으로 표시 SELEC..