반응형

빈 컬럼에 1씩 증가시켜서 데이터를 넣는 방법

UPDATE TABLE명 SET 컬럼명 = ROWNUM

 

ROWNUM을 이용하여 빈값에 UPDATE를 1씩 증가시켜서 하는 방법입니다.

 

만약 값이 있는 상태라면, ROWNUM 대신 아래를 참고해주세요.

UPDATE 테이블 명 SET 컬럼명 =  NVL(MAX(컬럼명), 0)+ 1

 

 

 

 

반응형
SELECT TO_DATE('20210408', 'YYYYMMDD')- TO_DATE('20210406', 'YYYYMMDD') FROM DUAL;



반응형

오라클 버전 확인 하는 SQL

SELECT * FROM PRODUCT_COMPONENT_VERSION;
반응형
TO_CHAR ((숫자), 'FM999999999999990.00') AS 알리아스

 

bold 처리 해둔 곳은 원하는 소수점 자리만큼 적으면 됩니다.

 

2개면 2자리 , 3개면 3자리 까지

EX) 12345.1 => 12345.10  (2자리)

EX) 12345.1 => 12345.100 (3자리)

 

TO_CHAR ((숫자), 'FM999,999,999,999,990.00') AS 알리아스

중간에 콤마를 넣으면 3자리 마다 ,가 찍힙니다.

 

EX) 12345.1 => 12,345.10  (2자리)

EX) 12345.1 => 12,345.100 (3자리)

반응형
SELECT * FROM V$VERSION WHERE BANNER LIKE 'Oracle%';
반응형

1. 바꾸려고 하는 컬럼을 하나 똑같이 만든다.

EX) BOARD_ID => BOARD_ID2

 

2.BOARD_ID2에 원하는 PK의 값을 꽂아 넣는다. (시퀀스 값)

UPDATE [테이블] A SET A.BOARD_ID2 = (SELECT TO_CHAR(B.NUM,'000000000') FROM 
(SELECT ROW_NUMBER() OVER(ORDER BY BOARD_ID) NUM , BOARD_ID FROM [테이블]) B 
WHERE B.BOARD_ID = A.BOARD_ID)

 

3.원하는 값이 BOARD_ID2에 들어갔으면 이제 업데이트 다시 해준다.

UPDATE CRM_BOARD_MST SET BOARD_ID = BOARD_ID2

 

결과값이 바뀌었는지 확인해본다.

 

반응형
select 
        table_name, 
        num_rows,
        num_rows * avg_row_len, 
        avg_row_len,
        round((num_rows * avg_row_len/1024/1024),2) "SIZE(Mb)", 
        round((num_rows * avg_row_len/1024/1024/1024),2) "SIZE(Gb)",
        last_analyzed
from user_tables
where table_name='테이블 네임'
반응형
SELECT 'ALTER TABLE ' || TABLE_NAME || ' MODIFY ' || COLUMN_NAME || ' ' || DATA_TYPE || '(' || DATA_LENGTH  || ' CHAR);' 
FROM ALL_TAB_COLUMNS 
WHERE DATA_TYPE IN ('VARCHAR2') AND OWNER = 'DB사용자이름'

 

+ Recent posts