본문 바로가기

DBMS/Oracle17

[Oracle] 소수점 이하 버리기/ TRUNC 함수 사용법 기능 소수점 이하를 절사하는 함수 (ROUND와는 다르게 반올림 없이 지정한 길이만큼 끊어버림.) 사용법 TRUNC(숫자) TRUNC('값', '소수점 절사 위치') 예제 1 - 소수점 절사 위치 지정 SELECT TRUNC(1234.567 , 2) FROM DUAL => 결과 : 1234.56 ==> 소수점 이후 2자리 까지 자르라는 뜻. 예제 2 - 소수점 절사 위치 생략 SELECT TRUNC(1234.567) FROM DUAL => 결과 : 1234 ==> 소수점 부분 모두 절사됨. 사용법 TRUNC(날짜) TRUNC('값', '소수점 절사 위치') 옵션이 없는경우 시간을 절사 하고, 옵션 입력시 옵션에 맞게 절사한다. [옵션] 'YEAR' : 그해 1월1일 'MONTH' : 그달 1일 'DAY'.. 2021. 12. 8.
[Oracle] Oracle NLS Parameter NLS(National Language Support)언어 지원과 관련된 파라미터를 지칭   조회하는 방법SELECT * FROM NLS_DATABASE_PARAMETERS   구조각 파라미터가 의미하는 바가 있고, VALUE에는 해당 파라미터가 어떤 형태로 지정되어 있는지 확인할 수 있다.NLS_DATE_FORMAT 으로 예를 들어보자.    예시 ) NLS_DATE_FORMATPARAMETERVALUENLS_DATE_FORMATDD-MON-RR NLS_DATE_FORMAT은 현재 데이터베이스 시스템의 기본 날짜 입출력 형태를 지정하는 파라미터 이다.TO_CHAR, TO_DATE 함수의 기본 DATE FORMAT이다.     1. 테스트 테이블을 만들어서 데이터를 INSERT 해보며 테스트 해봤다.  .. 2021. 12. 8.
[Oracle] 데이터 Export / 데이터 복사 / SQL Developer 툴 SQL Developer 툴을 이용한 데이터 Export 개요 : 운영DB의 데이터를 => 테스트DB로 복사 1. 기존 DB에서 Export를 수행한 후 2. 생성된 파일을 신규 DB 서버로 복사하고, Import 하는 방식의 데이터 마이그레이션. 한번에 모든 테이블과 데이터를 복사 생성할 방법으로는 적합하지 않지만, 일단 실무에서 있었던 일은 유지보수를 하며 1개의 테이블을 새로 생성했고, 테스트 DB에도 동일하게 적용해야 하는 상황이었음! 테스트 DB에 테이블은 있는데 데이터가 없는경우, 툴을 이용해 데이터 복사 쿼리를 만들어서 테스트 DB에서 실행. 1. 개발 DB에 운영DB와 동일한 구조의 테이블을 만든다. 2. 개발 DB에 데이터를 넣는 작업 : 운영 DB에서 복사하고자 하는 테이블에 대해 조회.. 2021. 7. 30.
[Oracle] [SQL DEVELOPER]테이블 구조만 복사, 테이블 데이터 복사 사용 가능한 두가지 방법이 있는데, 2번째 방법의 쿼리로는 테이블의 구조, 레코드는 복사가능하나 Primary Key, Foreign Key, Default, Index, 컬럼 설명 등은 복사되지 않는다. 1번방법 : SQL Developer 툴로 쿼리 생성하기 사용 DB Tool : SQL DEVELOPER SQL DEVELOPER 툴을 이용하는 경우, 기본키나 설명 등이 들어있는 기존 테이블(복사하고자 하는 테이블)이 있다면 기존 테이블 우클릭 후 1. DDL > 생성 : 현재 테이블 정보 쿼리문으로 생성해줌 2. DDL > 업데이트(현재 편집) : 방금 테이블 설정 변환한게 있다면 쿼리문으로 생성해줌 2번방법 : 아래 쿼리로 테이블의 구조, 레코드는 복사가능하나 Primary Key, Foreign.. 2021. 7. 28.
[Oracle] ORACLE - MERGE INTO 구문 DB 조회하여 특정 테이블에 조건이 일치할 경우 UPDATE, 일치하지 않을 경우 INSERT. 예를 들어 이미 저장된 회원정보가 있으면 UPDATE, 초기 저장이기 때문에 없을 경우 INSERT 구문을 실행하는 것이다. 비즈니스 로직으로 분기처리할 수 있지만, Oracle에서는 MERGE INTO 구문을 사용하면 하나의 로직으로 처리 가능하다. 구문 더보기 MERGE INTO Insert or Update 할 타겟 테이블 USING 타켓 테이블에 들어갈 데이터(ex : 테이블 ,뷰, 서브쿼리, DUAL도 사용가능) ON ( INSERT할 것인지 UPDATE 할것인지를 결정하는 조건 즉, ON절에 기술된 조건이 일치하면 업데이트문 실행 조건이 맞지 않으면 인서트 문을 실행한다. ★ primary key가.. 2021. 6. 29.
[Oracle] DELETE 문법 DELETE FROM 테이블명 | 뷰 | 서브쿼리 WHERE 조건 -- 조건절에 해당하는 데이터를 모두 삭제한다. -- 데이터가 여러개일 경우 모두 삭제되니 주의하자. 예제 DELETE FROM stu_table WHERE grade = '1' AND class_divide = 'A' -- grade가 1이고 class_divide가 A인 모든 데이터가 stu_table 테이블에서 삭제된다. WHERE 절에 IN 활용 DELETE FROM stu_table WHERE grade = '1' AND major_code IN ( SELECT major_code FROM major_table WHERE depar_code = '01' ) DELETE 실수 방지 데이터를 건드릴때는 항상 어떤 값이 변경될지 .. 2021. 6. 4.