본문 바로가기

반응형

프로그램/DB2

(8)
윈도우에서 DB2 삭제 방법 윈도우 환경에서 DB2 삭제하는 방법은 IBM에서 삭제하는 방법이 나와있네요. https://www.ibm.com/docs/ko/db2/11.1?topic=products-db2-windows Windows에서 Db2 데이터베이스 제품을 제거하려면 다음을 수행하십시오. 옵션: drop database 명령을 사용하여 모든 데이터베이스를 삭제(drop)하십시오. 이러한 데이터베이스가 더 이상 필요하지 않은지 확인하십시오. 데이터베이스를 삭제하면, 모든 데이터가 사라집니다. 필수: MSCS(Microsoft Cluster Server)가 있는 HA에 대해 Db2 인스턴스가 구성되면, db2mscs -u instance-name 명령을 실행하여 Db2 제품을 설치 제거하기 전에 인스턴스를 클러스터링 해제해야 ..
DB2 테이블 컬럼 변경 방법 DB2 테이블 컬럼 변경 방법 1. DB2 컬럼 추가 ALTER TABLE 테이블명 ADD COLUMN 컬럼명 속성(크기) ; 2. DB2 컬럼 속성변경 ALTER TABLE 테이블명 ALTER COLUMN 컬럼명 SET DATA TYPE속성(크기) ; 3. DB2 컬럼 삭제 ALTER TABLE 테이블명 DROP COLUMN 컬럼명 ; 4. DB2 컬럼명 변경 ALTER TABLE 테이블명 RENAME COLUMN 기존컬럼명 TO 새로운컬럼명 ; 5. 기본키 삭제 ALTER TABLE 테이블명 DROP PRIMARY KEY ; ** 컬럼 변경후 테이블에 적용이 안될 경우 REORG TABLE 테이블명 ;
DB2 행순번 row 처리 ROW_NUMBER() db2에서 조회결과에 대한 순번은 ROW_NUMBER() 함수를 사용하면됩니다. 여기서 ROW_NUMBER()만 쓰면 안되고 OVER ()까지 써주야합니다. SELECT ROW_NUMBER() OVER () AS RNUM, 컬럼명1, 컬럼명2 FROM 테이블명; 그럼 뒤에 RNUM 에 대한 OVER () 는 정렬은 위해서 세팅입니다. OVER() 함수 파라미터에 빈공백 또는 "ORDER BY 숫자" 을 사용하면 정렬없는 조회결과의 처음 로우부터 순차적으로 순서값을 부여합니다. 그래서 제대로된 정렬을 위해서 OVER( order by 컬럼명1, 컬럼명2 ) 로 사용하시면 됩니다.
DB2 현재날짜 기준으로 날짜 계산하는 법 DB2 날짜 계산입니다. 현재날짜DB2 현재날짜는 CURRENT DATE 를 사용하시면 되고 오늘날짜를 기준으로 전의 날짜를 계산하시려면 day , 월은 month ,년은 year를 사용하시면 됩니다. SELECT CURRENT DATE --현재날짜 , CURRENT DATE - 30 DAY -- 현재날짜에서 30일 전 , HEX(CURRENT DATE - 30 DAY) -- 현재날짜에서 30일 전 ,- 제거 , CURRENT DATE - 3 MONTH -- 현재날짜에서 3달 전 , HEX(CURRENT DATE - 3 MONTH ) -- 현재날짜에서 3달 전 ,- 제거 , CURRENT DATE - 1 YEAR -- 현재날짜에서 1년 전 , HEX(CURRENT DATE - 1 YEAR) -- 현재날짜..
DB2 날짜 형식 변경방법 * db2는 날짜 방식이 종류가 있는데 그거에 따라서 함수가 적용되는게 있고 안되는게 있습니다. 암튼 날짜 형식 변경방법 입니다. select SUBSTR(CHAR(TO_DATE(컬럼명, 'YYYYMMDD') ), 1,10) from 테이블명 ; --> 컬럼명이 char나 varchar인 경우 date 로 변경 후 날짜를 년월일 형태로 설정해야됨 컬럼의 데이터 8자리로 20191106이면 2019-11-06 00:00:00 000 로 결과가 시분초 데이터가 0의 값으로 길게 보이게 됩니다. 여기에서 주의할점 'YYYYMMDD' 안에 하이픈이나 대쉬 콤마같은 기호가 들어가면 안됩니다. 그리고 CHAR로 변경 후 SUBSTR로 1부터 10자리까지 로 잘라서 사용하시면 됩니다. 기호를 바꾸고 싶으시면 REPL..
DB2 소수점 반올림 처리 ROUND DB2 소수점 처리하는 함수는 오라클과 동일한 ROUND 입니다. select round(컬럼명, 소수점 위치 ) from sysibm.sysdummy1 ; 컬럼명에는 숫자를 직접입력하셔도 됩니다. select round(34.567 , 2 ) from sysibm.sysdummy1 ; ==> 결과는 34.57 이 나옵니다. 컬럼명을 계산을 했는데 처리가 잘 안되는 경우에는 형 변환을 하셔야 합니다. select double(round(컬럼명, 소수점 위치 )) from sysibm.sysdummy1 ; select round(컬럼명 * 1.00 , 소수점 위치 ) from sysibm.sysdummy1 ; 위의 방법이 잘 안되시면 double 위치를 바꿔가면서 테스트 해보세요. ^^;;;
DB2 오라클 NVL 기능 COALESCE * 오라클의 NVL 기능은 null 이 들어간 값에 대해서 유용하게 사용되는 함수입니다. 하지만 DB2는 NVL 이 없습니다. ​ ** 오라클 - NVL select NVL( 컬럼명 , '') AS col from 테이블명 ; --> NULL 인 경우 '' 공백 처리 select NVL( SUM(컬럼명) , 0 ) AS col from 테이블명 ; --> SUM, COUNT 하는 경우 에 NULL 인 경우 0 공백 처리 ** DB2 - 현재날짜 구하는 쿼리COALESCE select COALESCE( 컬럼명 , '') AS col from sysibm.sysdummy1 ; --> NULL 인 경우 '' 공백 처리 select COALESCE( SUM(컬럼명) , 0 ) AS col from sysibm...
DB2 오라클 dual 기능 sysibm.sysdummy1 DB2를 처음 사용하다보면 오라클을 주로 쓰는 우리네 현실상 문법이 달라 갑갑할 때가 종종 있는데 그 중 제일 짜증나는건 오라클 dual 의 대신하는 방법입니다. DB2는 dual 이 없고 sysibm.sysdummy1 로 사용해야 합니다. ​오라클 - 현재날짜 구하는 쿼리 select sysdate from dual ; DB2 - 현재날짜 구하는 쿼리 select current_date from sysibm.sysdummy1 ; 오라클 처럼 간단한게 만들어 놓지 기네요 ... ㅠㅠ

반응형