데이터베이스 Database/Oracle

ORACLE day1_describe 명령어

달래dallae 2022. 6. 30. 18:34

테이블의 컬럼 정보를 알려준다

항상 모든 작업을 하기 전에 null값이 허용인지 확인해야한다

describe 테이블명;
또는
desc 테이블명;
이름         널?         유형
---------   ----------   ---------
컬럼명       NOT NULL     NUMBER(4), VARCHAR2(30)...

 

널?

NOT NULL ⇒ 반드시 데이터를 입력해야한다는 뜻, 필수입력사항

아무것도 없음 ⇒ NULL 허용, 선택사항

유형(데이터타입)

1. NUMBER : 숫자타입

NUMBER(4) ⇒ -9999 ~ 9999

NUMBER(6) ⇒ -999999 ~ 999999

NUMBER(6,2) ⇒ -9999.99 ~ 9999.99

NUMBER(3,1) ⇒ -99.9 ~ 99.9

NUMBER ⇒ 자리수제한x

2. VARCHAR2, NVARCHAR2 : 문자열타입

인코딩이 MS949일 때 한글 1글자는 2byte이고, 인코딩이 UTF-8일 때 한글 1글자는 3byte이다

VARCHAR2(6) ⇒ 최대 6byte까지 입력가능

NVARCHAR2(6) ⇒ 최대 6글자까지 입력가능

3. DATE : 날짜타입

select sysdate, current_date, localtimestamp, current_timestamp, systimestamp
from dual;

RR ⇒ 연도 2자리 (50~99는 1950~1999, 00~49는 2000~2049)

MM ⇒ 월

DD ⇒ 일

주의!! 날짜를 나타낼 때

시,분,초가 없는 년,월일만 나타내면 ⇒ 자동적으로 0시 0분 0초인 자정이 된다

표현방식 변경

형변환함수 to_char() 사용

select to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss')
select to_char(sysdate, 'yyyy/mm/dd hh24:mi:ss')
select to_char(sysdate, 'yyyy-mm-dd am hh:mi:ss')
select to_char(sysdate, 'yyyy-mm-dd pm hh:mi:ss')
from dual;