본문 바로가기

반응형

프로그램/ORACLE

(21)
오라클 컬럼 숫자 세는 쿼리문 오라클 컬럼 조건에 따라서 숫자 세는 쿼리문 ​ 방법은 크게 DECODE, CASE WHEN 절 을 사용할 수 있는데요. ​ 조건이 간단하면 DECODE 조건이 복잡하면 CASE WHEN 절을 사용하시면 됩니다. ​ 1. DECODE 사용법 흔히아는 DECODE 문법에 SUM, COUNT 을 해주면 됨 ​ SELECT SUM(DECODE(컬럼명, 조건, 1, 0) AS COL1 FROM 테이블명 ; ​ SELECT COUNT(DECODE(컬럼명, 조건, 1, 0)) AS COL1 , SUM(DECODE(컬럼명, 조건, 1, 0)) AS COL2 FROM 테이블명 ; ​ --> 다른 컬럼을 추가로 조회하려면 SUM, COUNT 함수를 사용 중이여서 group by 를 사용해야 됩니다. 아니면 상황에 맞게 ..
오라클 timestamp insert 오라클에서 시간 타입으로 보통 date로 많이 쓰는데 timestamp라는 타입을 처음 접해보았습니다. 물론 다른 컬럼이 있었어도 크게 영향가 없었거나 제가 컨트롤하는 영향이 아니였던 컬럼이여서 몰랐겠죠.. ㅠㅠ 암튼 테이블에 막상 timestamp 타입의 컬럼에 저장하려고 하니 ... 잘 몰라서 찾아보니 나온 방법은 아래와 같습니다. 참 쉽죠 .. ㅋㅋㅋㅋ insert into tablename (timestamp_value) values (CURRENT_TIMESTAMP);
데이터를 비율 컬럼의 합계를 1로 업데이트하는 쿼리 ** 데이터를 비율 컬럼의 합계를 1로 업데이트를 하는 걸 만들고 있습니다. 테이블 명은 Test , 컬럼 a,b,c,d ,날짜, 키값, 비율 , 등록일, 수정일 , 등록자, 수정자 로 구성되어 있습니다. 날짜와 키값을 기준으로 ab,c,d 컬럼의 order by 순서 대로 프로시져로 비율의 값을 0.0001 이나 0.0001 로 빼줘서 비율의 합이 1이 되도록 하려고 합니다. -- 대상이 되는 키값, 현재까지 비율의 합 , 처리해야할 갯수를 조회하고 , +인지 - 인지 확인 하고 loop 실행 FOR c0 IN ( SELECT 키값 , SUM(비율) SUM_PRC_RATIO /* 비율의 합 */ , ABS((1.0 - SUM(비율)) / 0.0001) AS GAP_LIMIT /* 처리해야할 갯수 */ ..
오라클 월별 주차 쿼리 인터넷에서 원래 있던 주차 쿼리를 제가 필요한 방식으로 수정한 쿼리입니다. 기본적으로 with 절을 써서 쿼리를 만들었습니다. with TEST as ( select week.* from( select to_char(WEEK_START, 'YYYY-MM-DD') WEEK_START ,to_char(WEEK_END, 'YYYY-MM-DD') WEEK_END ,to_char(WEEK_START, 'WW') WEEK_OF_YEAR_ISO ,to_char(WEEK_START, 'W') WEEK_OF_MONTH , case when to_char(WEEK_START, 'YYYYMM') = to_char(START_DT, 'YYYYMM') and to_char(WEEK_END, 'DD') < 7 then 1 whe..
오라클 컬럼명으로 테이블 찾는 쿼리문 오라클 컬럼명으로 테이블 찾는 쿼리문 컬럼명으로 테이블을 찾고자 할 때 유용한 쿼리문 SELECT * FROM ALL_TAB_COLUMNS WHERE COLUMN_NAME LIKE '컬럼명';
오라클 날짜 차이 구하기 오라클 날짜 차이 구하기 1. SELECT trunc(to_date('20141019','yyyymmdd')) - trunc(to_date('20141028','yyyymmdd')) FROM DUAL; --> varchar2 타입(string) 형태의 날짜형식을 넘겨받았을 경우 2. SELECT trunc(to_date(컬럼명,'yyyymmdd')) - trunc(to_date(컬럼명,'yyyymmdd')) FROM 테이블명; --> 테이블과 컬럼을 각각의 위치에 매칭시켜서 사용
PLS-00410: RECORD,TABLE 또는 인수 목록에 중복 필드가 허용되지 않습니다 PLS-00410: RECORD,TABLE 또는 인수 목록에 중복 필드가 허용되지 않습니다 아래소스에서 볼드체인 글씨참조 하세요~ PROCEDURE SP_TEST 안에 변수명과 IS 밑에 변수가 같은 이름으로 중복 되어 있을 경우 나는 에러 입니다. ㅠㅠ 변수명을 다르게 사용해야함. PROCEDURE SP_TEST ( v_CD IN VARCHAR2, /* 코드*/ v_YM IN NUMBER, /* 년월 */ outSqlcode OUT INTEGER, /* SQLCODE:출력_에러코드 */ outSqlmsg OUT VARCHAR2 /* ERROR MESSAGE:출력_에러코드 */ ) IS v_CD IN VARCHAR2(200) := ' '; /* 코드*/ v_YM IVARCHAR2(6) := ' '; /*..
ORA-04063: package body 오라클 에러 ORA-04063: package body ~~~~~ 패키지가 컴파일이 제대로 안되었을 경우 패키지에 대한 권한이 없을 경우 난다고 합니다. ㅠㅠ

반응형