본문 바로가기

SQL31

oracle SQL - 날짜 형식 수정, 날짜연산 오라클은 현재의 날짜를 결과로 반환하는 SYSDATE라는 내장함수를 제공한다. 날짜 데이터는 국가별로 다르다. 우리나라는 연도/월/일 순서라면 미국은 일-월-연도 순이다. 하지만 다음과 같은 명령문을 통해 화면에 출력할 형식을 변경할 수 있다. ALTER session set nls_date_format = 'yyyy/mm/dd hh24:mi:ss'; select sysdate from dual; 이러한 형식은 현재 세션이 유지되는 동안에만 유효하다. disconnect시 다시 원래대로 돌아온다. 위 코드와 같이 변경된 값을 세션마다 수정하지 않고 디폴트로 사용하고 싶다면 DB 엔진 서버를 수정하면 가능하다. 현재로부터 3시간 후와 40분 후의 시간 select sysdate, sysdate+3/24, .. 2022. 12. 7.
oracle SQL - 숫자함수 (ROUND, TRUNC, MOD, ABS) 1. 숫자 함수 오라클 함수를 이용할 때 인수가 숫자인 경우 숫자 함수를 사용한다. 함수 설명 ROUND(n, integer) 숫자 n을 지정된 자릿수까지 남기고 반올림한다. TRUNC(n, integer) 숫자 n을 지정된 자릿수까지 남기고 절삭한다.(버림) MOD(m, n) m을 n으로 나눈 나머지를 반환한다. m % n ABS(n) 숫자 n의 절대값을 반환한다. round, trunc의 경우 integer를 지정할 때 소수점 첫 번째 자리가 1을 뜻한다. n 3 . 1 4 1 5 9 integer 0 1 2 3 4 5 ROUND() round(3.14159, 4)로 실행했다면 5번째 자리수를 반올림하여 3.1416을 돌려준다. TRUNC() round(3.14159, 1)로 실행했다면 1번 째 자리.. 2022. 12. 7.
oracle SQL - 문자 함수 대소문자 조작함수 오라클에서 저장된 데이터의 대소문자를 변환해서 출력하는 함수 함수 설명 LOWER(char) 대소문자, 대문자 문자열을 소문자로 변환 UPPER(char) 대소문자, 대문자 문자열을 대문자로 변환 INITCAP(char) 첫 문자는 대문자로, 나머지 문자는 소문자로 변환 select upper(email) as upper, lower(email) lower, initcap(email) initcap from y_emp where emp_id < 1005; 테이블이 없더라도 dual 허상 테이블을 이용하여 다양한 테스트를 할 수 있다. select upper('hello') result1, initcap('hello') result2 from dual; 문자 조작 함수 CONCAT(), .. 2022. 12. 7.
oracle SQL - 정렬 ORDER BY ORDER BY 칼럼명 (as 표현식) { ASC(올림차순), DESC(내림차순) } order by절은 지정한 칼럼을 정렬해서 보여준다. SQL문의 가장 끝에 두어야하며 asc(디폴트) 또는 desc를 지정해 오름차순 또는 내림차순으로 정렬할 수 있다. 오름차순 select emp_name, position, dept_id, hiredate from y_emp order by hiredate; 입사일이 가장 빠른 사원부터 순서대로 출력한다. 여기서 ASC(오름차순) 키워드는 생략가능. 내림차순 select emp_name, position, dept_id, hiredate from y_emp order by hiredate desc; desc 키워드를 추가함으로써 가장 최근에 입사한 사원 순으로 결과를.. 2022. 12. 7.
oracle SQL - 비교 연산자, 기타 연산자, 연산자 우선순위 비교 연산자 연산자 의미 a = b a와 b는 같다. a > b a는 b보다 크다 a = b a는 b보다 크거나 같다. a =, !=, 등) 5 IS NULL, LIKE, IN 6 BETWEEN 7 NOT 8 AND 9 OR 2022. 12. 1.
oracle SQL - 칼럼 레벨, 테이블 레벨 더보기 한국어 한 글자 3byte 숫자 하나 1byte 알파벳 하나 1byte 칼럼 레벨 : 인라인 방식이라고도 불리며 칼럼 작성 후 바로 제약조건을 바로 설정하는 것이다. Not null 제약조건은 무조건 칼럼 레벨 방식으로! 테이블 레벨 : 아웃라인 방식이라고도 불리며 테이블에 필요한 칼럼을 모두 작성 후 맨 아랫단에 따로 제약조건을 설정하는 것이다. 왜 나누었지? - 특정 칼럼이 제약조건을 두 개 이상 가질 수 있으므로 제약조건 하나는 칼럼 레벨 문법으로 가능하지만, 그 이상은 테이블 레벨 문법으로 작성해야 한다. 테이블 레벨 문법 Not null 제약조건은 무조건 칼럼 레벨 문법으로! create table pro( p_id number(3), p_name varchar2(20) constrain.. 2022. 12. 1.