보관함

DB2] 함수이용

AI 윤 선생 2021. 5. 17. 23:43
반응형

1. rownum

 

select * from (select deptname, rownumber() over() rn from org) a where rn<3

DEPTNAME       RN                 

-------------- --------------------

Head Office                       1

New England                       2

  2 record(s) selected.

 

 

select deptname from org fetch first 2 rows only

DEPTNAME     

--------------

Head Office  

New England  

  2 record(s) selected.

 

 

2. date 

 

 

select hex(current date) from sysibm.sysdummy1

1      

--------

20070216

  1 record(s) selected.

 

 

select '^^' from sysibm.sysdummy1 where '20070216' between hex(current date) and hex(current date -5 days)

1

--

  0 record(s) selected.

 

SUBSTR(CHAR(HEX(CURRENT TIMESTAMP)),1,14)

 

3. nvl

 

SQL SELECT 절에서 collesce(col1,널대체값) 또는 value(col1,널대체값)

 

4. instr

userid >>  test:1234

                test:123

select substr(userid, LOCATE( ':', userid )+1) from test_table;

1234

123

 

 

5.rownum

 

db2 "select * from (select a.*,rownumber() over() rn from staff a fetch first 1 rows only )a where rn=0"

6. sequence

"일련번호" DECIMAL(15,0) NOT NULL GENERATED ALWAYS AS IDENTITY ( 
                    START WITH +1 
                    INCREMENT BY +1 
                    MINVALUE +1 
                    MAXVALUE +999999999999999 
                    NO CYCLE 
                    CACHE 20 
                    NO ORDER ) )   
 
  그리고 db에서 제공하는 sequence를 사용하는 방법도 있습니다.

 

반응형