SQL2 칼럼 순서 변경 방법 [SQL / Oracle] 테이블의 칼럼 위치를 수정해야 하는 업무가 있었다. 하지만 다 날리고 다시 박아넣는 것 말고 다른 방법이 있지 않을까 하는 생각이 들었다. 칼럼을 날리고 다시 넣으면 백업될때 컬럼명과 사이즈만 복제되고 테이블의 PK, INDEX나 COMMENT 등은 백업되지 않지만 INVISIBLE-VISIBLE을 사용하면 쉽게 칼럼간 순서를 변경할 수 있다. 예를 들어 TB 테이블에서 A B C D E 순으로 되어있는 칼럼을 A B E C D로 변경하려 한다고 하자. -- 뒤로 옮길 컬럼을 순서대로 INVISIBLE 한다. ALTER TABLE TB MODIFY (C INVISIBLE); ALTER TABLE TB MODIFY (D INVISIBLE); -- 뒤로 옮길 컬럼을 순서대로 VISIBLE 한다. ALTER .. Database/🅾 Oracle 2022. 7. 21. VARCHAR형으로 저장된 날짜와 현재 날짜의 차이 구하기 [SQL / Oracle / myBatis] 내가 해야할 일은 USER_SOL 테이블에서 현재로부터 '335일' 지난 계정을 찾는 것이었다. 이를 테면, VARCHAR2(14)인 칼럼 DT_LAST가 있다고 하자. 특정 데이터의 DT_LAST의 값은 아래와 같다. 이 중 오늘로부터 335일 전의 데이터들만 추출하고 싶을 때, VARCHAR과 현재 날짜를 비교해야하는 것이다. SELECT * FROM USER_SOL WHERE 1=1 AND TO_DATE(TO_CHAR(SYSDATE, 'YYYYMMDD'), 'YYYYMMDD') - TO_DATE(SUBSTR(DT_LAST, 0, 8), 'YYYYMMDD') = 335 위와 같이 SYSDATE를 TO_CHAR을 이용해서 YYYYMMDD꼴로 변환.. Database/🅾 Oracle 2022. 7. 18. 이전 1 다음