Programming/Database

24

[DB2] 스트링을 특정 구분자로 분리하여 테이블로 리턴하는 함수

특정 구분자로 나눠진 스트링을 테이블의 데이터로 뽑아주는 함수가 필요해서 이래저래 찾아보아 다음과 같이 만들었습니다.원하는 기능은 이랬지요.'1;2;3' 과 같은 스트링을 입력하면 1,2,3의 Data가 테이블에 입력되도록 하는 것이지요.우선 아래의 fnGetElementIdx, fnGetElements 함수를 추가해 주고,실제 사용은 아래와 같은 쿼리를 사용하여 사용하면 됩니다.SELECT CAST(t.elem AS VARCHAR(256))FROM TABLE ( fnGetElements('1;2;3',';') ) AS t(elem)------------------------------------------------------- 1. 스트링의 구분자 위치 정보를 생성, 리턴 (fnGetElements에..

Programming/Database 2010.08.11 Joshua95

[DB2] 특정 쿼리 결과에 순차적으로 번호 붙이기

특정 쿼리 결과를 순차적으로 번호를 붙여주고 싶은데, 한참 찾아보니 이런 함수가 있군요. -- 쿼리 결과 그대로 순번을 리턴 ROW_NUMBER() OVER() -- 쿼리 결과를 특정 정렬 후 순번을 리턴 ROW_NUMBER() OVER (ORDER BY SALARY DESC) -- 사용 예 SELECT ROW_NUMBER() OVER() AS idx, element FROM tbTestTable; From Joshua95(10-08-05)

Programming/Database 2010.08.05 Joshua95

[DB2] 문자열 파싱 후 특정 토큰 값 변경하는 함수

* 특정 컬럼의 문자열을 Delimeter로 파싱하여, 특정 번째 토큰을 변경하는 Function -- 문자열 파싱 후 특정 토큰 값 변경하는 Function (DB2) CREATE FUNCTION fnGetNodeIPObjectBody( IPObjectBody_ VARCHAR(256), NewIPName_ VARCHAR (32), NewPortName_ VARCHAR (32) ) RETURNS VARCHAR(256) BEGIN ATOMIC DECLARE SubStr_ VARGRAPHIC(256) DEFAULT ''; DECLARE Index_ INT DEFAULT 0; DECLARE FindIndex_ INT DEFAULT 4; -- 5번째가 포트이므로. DECLARE Delimiter_ VARGRAP..

Programming/Database 2010.06.23 Joshua95

[MSSQL] 다른디비에 접근하기위한 쿼리

DB 작성하다 보면, 다른 DB에 있는 테이블 정보를 사용해야 될 때가 있습니다. MS SQL에서는 아래와 같이 DB 이름에 ".." 을 붙여서 작성하면 됩니다. select * from db_name..tableName - 2009/04/08 이전 작성글 이관

Programming/Database 2010.06.23 Joshua95

[DB2] 이미 생성된 테이블 정보 수정하기

-- 기존 테이블에 컬럼 추가하기 ALTER TABLE tblPolicy ADD col_a TINYINT DEFAULT ((0)) NOT NULL; -- 기존 컬럼의 속성 변경하기 ALTER TABLE tblHotfixTest1_Temp ALTER COLUMN col_a TINYINT NOT NULL; -- 기존 컬럼의 default 추가하기 ALTER TABLE tblHotfixTest1_Temp ADD CONSTRAINT col_c_def DEFAULT 0 FOR col_a ; -- identity column 에 데이타 입력하기 SET IDENTITY_INSERT tblHotfixTest1 ON; INSERT INTO tbNew (id, a, b) SELECT * FROM tbOld; SET IDE..

Programming/Database 2010.06.23 Joshua95

[DB2] CHAR 변환 후 공란제거하기

CHAR 변환 후 문자열 오른쪽에 White Space 가 생겨나서리 고민했더니 아래 간단한 함수로 해결되네요. RTRIM(string-expression) 출처: http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=/com.ibm.db29.doc.intro/db2z_datetimetimestamp.htm - 2009/03/16

Programming/Database 2010.06.23 Joshua95

[DB2] 테이블 정보 얻어오기

-- 테이블 전체 정보 가져올 때 (DB2) SELECT * FROM SYSIBM.sysroutines WHERE TEXT LIKE '%''1'' AS "value"%' SELECT * FROM SYSIBM.sysroutines WHERE TEXT LIKE '%TBNODEOBJECTSTATUS%' SELECT * FROM SYSIBM.sysroutines WHERE TEXT LIKE '%AS "body"%' -- 테이블 중 컬럼 이름 사용하는 테이블 얻어오기 (DB2) SELECT DISTINCT tbname FROM sysibm.syscolumns WHERE NAME = 'NODEID' - 2009/03/12

Programming/Database 2010.06.23 Joshua95