반응형

개발 & 데이터베이스/DB 41

오라클 해당 날짜 요일 구하기 (TO_CHAR 함수)

프로그래밍을 하다보면 해당 날짜에서 요일이 필요한 경우가 생기는데요. 오라클에서는 TO_CHAR 함수를 이용해서 쉽게 해당 날짜의 요일을 알 수 있습니다. 그 방법에 대해서 알아보겠습니다. TO_CHAR(날짜, '포맷'); TO_CHAR 함수를 이용해서 해당 날짜의 요일을 구할 때 사용하는 포맷의 종류는 총 3가지가 있다. day : 일요일, 월요일, 화요일, 수요일, 목요일, 금요일, 토요일 dy : 일, 월, 화, 수, 목, 금, 토 d : 1 ~ 7 (요일을 숫자로 출력) SELECT TO_CHAR(SYSDATE, 'DAY') FROM DUAL; # 토요일 SELECT TO_CHAR(SYSDATE, 'DY') FROM DUAL; # 토 SELECT TO_CHAR(SYSDATE, 'D') FROM D..

오라클 중복 데이터 쉽고 빠르게 찾는 방법 (GROUP BY, OVER)

안녕하세요. 프로그래머 두부입니다. 일을 하다보면 중복 데이터를 찾아야하는 경우가 생기는데요. 쉽고 빠르게 찾을 수 있는 방법이 없을까요? 오라클에서는 중복 데이터를 찾기 위해서 GROUP BY 절과 집계 함수를 이용하는 방법과 OVER 절과 분석 함수를 이용하는 방법 총 2가지가 있습니다. 지금부터 어떻게 사용하는 것인지 알아보겠습니다. 1. 집계 함수를 이용하는 방법 (GROUP BY 절) 2. 분석 함수를 이용하는 방법 (OVER 절) 위의 예시 데이터에서 HIREDATE 컬럼이 중복된 데이터를 찾아보겠습니다. 집계 함수를 이용하는 방법 (GROUP BY 절) SELECT HIREDATE , COUNT(*) AS CNT FROM JOB_TABLE GROUP BY HIREDATE HAVING COUN..

오라클 간단하고 짧은 조건함수 DECODE 함수 사용 방법

오라클 쿼리를 작성하다보면 조건을 요구하는 상황이 생긴다. 대표적으로 IF문이 있는데 오라클에서 사용하면 쿼리문이 길어질 수 밖에 없다. 이번 포스팅에서는 쿼리문이 짧아지고 간단하게 사용할 수 있는 DECODE 함수를 소개하겠다. 오라클에만 존재하는 함수이므로 SQL에서는 사용할 수 없다. 함수 사용 방법 DECODE(컬럼, 조건, TRUE 결과, FALSE 결과) DECODE 함수 사용 방법은 삼항식(컬럼 = 조건 ? TRUE : FALSE)과 비슷한 형식으로 매우 간단하다. SELECT DECODE(USER_NM, '두부', 'YES', 'NO') AS USER_YN FROM TALBE_NAME 간단한 에제로 USER_YN 컬럼에 USER_NM 컬럼 값이 '두부' 일 때 'YES'를 출력, 아닐 시에..

오라클 ORA-28001: 비밀번호가 만기되었습니다. 오류 해결 방법

ORA-28001: 비밀번호가 만기되었습니다. 오라클 11버전부터는 비밀번호 유효기간이 180일로 설정되어있다. 비밀번호를 변경해줌으로써 오류를 쉽게 해결할 수 있다. 계정 상태 확인하기 1. cmd를 열어서 아래 내용을 입력해서 dba 계정으로 로그인한다. sqlplus / as sysdba 2. 아래 내용을 입력하면 계정 상태를 알 수 있다. SELECT RESOURCE_NAME, LIMIT FROM DBA_PROFILES WHERE PROFILE='DEFAULT' AND RESOURCE_NAME='PASSWORD_LIFE_TIME'; 오류 해결 방법 ALTER USER 사용자ID IDENTIFIED BY 새로운 비밀번호; 새로운 비밀번호로 변경함으로써 오류가 해결된다. ALTER PROFILE DE..

오라클 결과값을 버림하여 출력하는 TRUNC 함수

TRUNC 함수 정의 결과값을 원하는 자릿수까지 버림하여 출력하는 함수 TRUNC(숫자, 자릿수) 자릿수 N: 소숫점 아래 N번째 자리까지 버림하여 출력 자릿수 -N: 버림하여 10의 N승 자리까지 출력 자릿수 0: 버림하여 1의 자리까지 표시 함수 자릿수 결과 TRUNC(12.3456, 2) 2 12.34 TRUNC(12.3456, 1) 1 12.3 TRUNC(12.3456, 0) 0 12 TRUNC(12.3456, -1) -1 10 TRUNC(12.3456, -2) -2 100

오라클 자주 발생하는 에러 종류 및 해결 방법

오라클에는 다양한 에러들이 존재합니다. 오라클을 사용하면서 흔하게 발생하는 에러와 대략적인 해결 방법에 대해서 알아보겠습니다. 자주 발생하는 에러 코드 모음 1. ORA-00001: 무결성 제약 조건에 위배됩니다. (PK 중복) - 기본키(PK)가 중복값인지 확인 2. ORA-00600: internal error code, arguments: [], [], [] (DB 내부오류) - CLOB 컬럼이 있는지 확인 3. ORA-00904: invalid identifler, 부적합한 식별자 - 테이블에 없는 컬럼명을 조회했을 때 발생하므로 컬럼명 확인 4. ORA-00918: column ambiguously defined, 열의 정의가 애매합니다. - 조회, 조건절에 있는 특정 컬럼이 어떤 테이블의 컬럼..

오라클 조인의 종류와 사용법 (내부조인, 외부조인)

조인 정의 2개 이상의 서로 관계에 있는 테이블 내용을 1개의 결과셋으로 만드는 작업 조인의 종류 종류 설명 등가 조인 테이블을 연결한 후 출력 행을 각 테이블의 특정 열에 일치한 데이터를 기준으로 선정하는 방식 내부 조인, 단순 조인으로 부름 비등가 조인 등가 조인 외의 방식 열의 일치 여부를 알 수 없을 때 사용 (= 연산자를 제외한 연산자를 사용) 자체 조인 하나의 테이블을 여러 개의 테이블처럼 활용하여 조인하는 방식 SELECT문 내부에서 별칭을 다르게 주어 논리적으로 다른 테이블인 것처럼 명시 외부 조인 어느 한쪽이 NULL이어도 강제로 출력하는 방식 실습해보기 우선 테스트를 위해서 두 가지 테이블 생성한다. CREATE TABLE EMP( EMPNO INTEGER NOT NULL, ENAME ..

오라클 숫자 함수와 LPAD, RPAD 함수

오늘은 오라클에서 제공하는 숫자 함수와 LPAD, RPAD 함수에 대해서 알아보겠습니다. ABS 절대값을 출력하는 함수 SELECT ABS(-27) FROM DUAL; 결과: 27 SIGN 부호를 확인하는 함수 SELECT SIGN(27), SIGN(-27), SIGN(0) FROM DUAL; 결과: 1, -1, 0 ROUND(숫자, [반올림 자릿수]) [반올림 자릿수] 생략 시에 소숫점 첫 번째 자리에서 반올림 SELECT ROUND(0.123), ROUND(2.553,1) FROM DUAL; 결과: 0, 2, 6 TRUNC(A, [B]) [B]가 생략 시 소숫점 아래 모든 자리를 잘라냄 SELECT TRUNC(1234.56789), TRUNC(1234,154516, -1) FROM DUAL; 결과: ..

오라클 DML 기본문법 (INSERT, UPDATE, DELETE, SELECT)

DML (Data Manipulation Language) 테이블의 데이터를 검색, 삽입, 수정하는데 사용하는 언어로 데이터 조작어라고 불림 1. SELECT - 조회 SELECT [컬럼] FROM [테이블명] WHERE [검색조건] [GROUP BY 묶는 기준] [HAVING 묶는 조건] [ORDER BY 오름차순/내림차순] [ASE/DESC] ; ※ WHERE 절에 사용되는 술어 술어 연산자 예시 설명 비교 =, , = WHERE NUM > 500 반환값은 단일 행 또는 다중행 범위 BETWEEN WHERE NUM BETWEEN 0 AND 500 반환값은 단일 행 또는 다중행 집합 IN, NOT IN WHERE NUM IN(100, 200, 300) IN 연산자는 검색 조건 1000개까지 가능 IN ..

오라클 자료형 변환 함수 TO_CHAR, TO_DATE와 DECODE함수, CASE문

자료형 변환 함수 형 변환에는 두 가지 종류가 존재합니다. 자동으로 형 변환이 되는 암시적 형 변환, 사용자가 자료형을 직접 지정해주는 명시적 형 변환입니다. 1. 날짜, 숫자 데이터를 문자 데이터로 변환하는 함수 기준 포맷 설명 CC, SCC 네 자리 연도의 끝 두자리를 기준으로 사용 (2021년이면 2050 이하이므로, 반올림 경우 2021년으로 처리) SYYYY, YYYY, YEAR, SYEAR, YYY, YY, Y 날짜 데이터의 해당 연, 월, 일의 7월 1일 기준 (2021년 7월 1일 경우, 2022년으로 처리) IYYY, IYY IY, I ISO 8061에서 제정한 날짜 기준년도 기준 Q 각 분기의 두 번째 달의 16일 기준 MONTH, MON, MM, RM 각 달의 16일 기준 WW 해당 ..

반응형