1. CASE문 예제 1) SELECT test_col, CASEWHEN test_col = '0' THEN '0임'WHEN test_col = '1' THEN '1임'WHEN test_col = '2' THEN '2임'ENDFROMTEST_TABLE 2) SELECT CASE test_colWHEN '1' THEN '1임'WHEN '2' THEN '2임'WHEN '3' THEN '3임'ELSE '기타'END FROMTEST_TABLE
1) 오라클에서 Varchar2에서 CLOB로 변경할 경우 Alter를 쓰면 ORA-22858 에러가 발생한다. 떄문에 해당컬럼을 삭제한 후 생성해줘야 하는데, 아래와 같이 실행하면 해당컬럼의 데이터를 유지하면서 컬럼을 변경해줄수 있다. - alter table 테이블명 add 생성할CLOB명 CLOB; - update 테이블명 set 임시컬럼 = 변경할컬럼명; - commit; - alter table 테이블명 drop column 변경할컬럼명; - alter table 테이블명 rename column 생성할CLOB명 to 변경할컬럼명;
1) 아래와같이 실행!create database link "link명" connect to "ID" identified by "password" using '( DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST="호스트명")(PORT="포트") ) (CONNECT_DATA = (SERVICE_NAME="SID혹은 ServiceName") ) )';
- 오라클 함수 만들기 1) CREATE OR REPLACE FUNCTION TEST_FUNC (v_id IN NUMBER) -- 리턴타입 정의 필수!RETURN NUMBER ISv_num test.test_num%type;BEGINUPDATE TESTSETtest_num = test_num + 1;WHEREid = v_id; COMMIT; SELECT test_num INTOv_numFROM TESTWHEREid = v_id;RETURN v_num; --리턴문이 꼭 존재해야함!END; 2) 함수실행 SQL> VAR result number; *) 함수실행시 반환값을 저장할 변수 선언 SQL> executeo :result := TEST_FUNC(1); *) 함수실행 3) 선언한 변수의 출력 SQL> P..
- 오라클 Between 으로 날짜 조회 :) wrt_dt Between A and B *) 해당 날짜의 23:59:59까지 검색이 필요하기 때문에 종료날짜의 0.99999를 더해준다.(ex) a.wrt_dt between to_date('20131024','YYYYMMDDHH') and to_date('20131024','YYYYMMDDHH') + 0.99999
- 문자를 숫자로 변환하는 방법 : CAST(ID as decimal)