DB/db217 DB2 FUNCTION 함수 사용 CREATE FUNCTION get_SubMenuCnt (pmenu_id VARCHAR(6), prole_id VARCHAR(6) ) RETURNS INTEGER LANGUAGE SQL BEGIN ATOMIC DECLARE subMenuCnt INTEGER DEFAULT 0; SET subMenuCnt =(SELECT COUNT(*) FROM TGA_MENU WHERE UPPR_MENU_ID= pmenu_id AND ROLE_ID = prole_id); RETURN subMenuCnt; END; 2015. 5. 10. 오라클에서 DB2로 바꿀 때 사용하는 함수들과 UDF 오라클에서 DB2로 바꿀 때 사용하는 함수들과 UDF 1. NVL() => COALESCE() 2. DECODE() => CASE .. WHEN .. THEN .. END : 이함수는 converting 했을 때 열받았던 함수 이죠.. 다른 함수들은 앞에만 바꿔주면 되는데, 이함수는 일일이 when 절 then 절을 잘 구분해서 하나하나 써줘야 하니 ㅠㅠ 암튼 db2는 이런거는 좀 번거럽습니다. 3. ROWNUM => rowid : DB2 에서는 ROWNUM 이 없고 대체되는 것이 FETCH FIRST 1 ROW ONLY 라고 나오는데 아무리 써봐도 이거때메 에러 나더라구요~ 그래서 찾은게 FROM 절에 (SELECT ROWNUM() OVER() AS rowid, column1, column2, ... .. 2015. 5. 10. DB2 데이타 타입 DB2 Data Types Every column in a table has a name and a data type. DB2 data types fall into three categories: types for string data; types for numeric data; and types for dates, times, and timestamps. The categories, followed by the data types within each category, are listed in the following sections. The SAS/ACCESS interface to DB2 handles all DB2 data types. This section describes how the DB2.. 2015. 5. 10. MSSQL ISNULL 을 DB2 에서 사용하는 방법 //MSSQL select ISNULL(max(WR_NO),0) as u_id from vote_Doc //DB2 EX1) select CASE WHEN MAX(WR_NO) IS NULL THEN 0 ELSE MAX(WR_NO) END as u_id from vote_Doc EX2) select COALESCE(MAX(WR_NO),0) as u_id from vote_Doc 값증가시 만약 MAX(u_id)에 1을 증가하려면 select CASE WHEN MAX(WR_NO) IS NULL THEN 0 ELSE MAX(WR_NO) + 1 END as u_id from vote_Doc == 동일표현식 하나 더 select COALESCE(MAX(WR_NO) + 1,0) as u_id from vote_Doc 2015. 5. 10. DB2 시간 빼기 && 날짜 형식 내가 원한는 형식의 타임으로 변환 TIMESTAMPDIFF (4, CHAR ( TIMESTAMP ('2001-09-29-11.25.42.483219') - TIMESTAMP ('2001-09-26-12.07.58.065497'))) 다음 예에서는 두 시간소인 사이의 시간(분)인 4277을 리턴합니다. 날짜 형식 내가 원한는 형식의 타임으로 변환 SELECT VARCHAR_FORMAT(FST_REG_DT, 'YYYY-MM-DD HH24:MI:SS') FROM DMSEIP.TGP_HL_BOARD http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp?topic=/com.ibm.db2.luw.sql.ref.doc/doc/r0000861.html 2015. 5. 10. DB2 세로 데이타를 가로로 만들기. 1. 가공전 데이타 id rowfiled aaa 1 aaa 2 aaa 3 aaa 4 aaa 5 2. 가공후 데이타. id filed1 filed2 filed3 filed4 filed5 aaa 1 2 3 4 5 WITH Types AS ( SELECT id , rowfiled ,VALUE , ROWNUMBER() OVER(ORDER BY rowfiled ) AS rn FROM ( SELECT id , rowfiled ,VALUE FROM table_a where idin ( '45636' , '26354' ) ) AS R ) SELECT a.PROF_KEY , MIN(CASE WHEN rn = 1 THEN t.value) as birthday , MIN(CASE WHEN rn = 2 THEN t.value.. 2015. 5. 10. 이전 1 2 3 다음