목록computer science/database (21)
IT STUDY LOG
# 날짜 함수 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..
# 숫자 함수 (참고) dual - 데이터를 한 행만 가지고 있는 테이블 SELECT * FROM dual; ROUND - 지정된 자리로 반올림 수행 SELECT ROUND(456.7897, 2), 200, 'Hello' FROM emp WHERE ROWNUM = 1; -- MySQL LIMIT 기능, 지정하지 않을 경우 emp 테이블 행 개수만큼 출력됨 SELECT ROUND(456.7897, 1) FROM dual; SELECT ROUND(456.7897, 0) FROM dual; SELECT ROUND(456.7897, -1) -- 1의 자리 FROM dual; SELECT ROUND(456.7897, -2) -- 10의 자리 FROM dual; TRUNC - 지정된 자리에서 버림 수행 SELECT..
# 문자 함수 LOWER, UPPER, INITCAP LOWER : 소문자로 변환 UPPER : 대문자로 변환 INITCAP : 모든 단어의 첫문자를 대문자로 변환 SELECT ename, job, ename||' '||job name , LOWER(ename||' '||job) "lower name" , UPPER(LOWER(ename||' '||job)) "upper name" , INITCAP(ename||' '||job) "initcap name" FROM emp -- DATA값의 경우 대소문자를 구분하므로 조건 절에서 주로 사용 WHERE LOWER(ename) = 'smith' OR UPPER(ename) = 'SMITH'; CONCAT - 두 문자열을 연결 SELECT CONCAT(ename..