본문 바로가기

오라클

[ORACLE] 테이블 컬럼 데이터타입 확인 SELECT a.TABLE_NAME, c.COMMENTS, a.COLUMN_NAME, b.COMMENTS, a.DATA_TYPE, a.DATA_LENGTH, a.NULLABLE FROM USER_TAB_COLUMNS a, USER_COL_COMMENTS b, USER_TAB_COMMENTS c, USER_TABLES d where 1=1 and a.TABLE_NAME = D.TABLE_NAME and a.TABLE_NAME=b.TABLE_NAME and b.TABLE_NAME=c.TABLE_NAME and a.COLUMN_NAME=b.COLUMN_NAME and a.TABLE_NAME ='BOARD' //여기에 테이블명 order by a.TABLE_NAME, a.COLUMN_ID 더보기
[ORACLE] NULL 함수 .NVL(),NVL2(), NULLIF() NVL(NULL,대체값) // AVG가 NULL일경우 0으로 대체 SELECT NVL(AVG,0) FROM MEMBER; SELECT TRUNC(NVL(AGE,0)/10)*10 FROM MEMBER; NVL2(입력값, NOT NULL, 대체값, NULL 대체값) SELECT NVL2(AGE,TRUNC(AGE/10)*10,0) FROM DUAL; 두값이 같은 경우 NULL, 그렇지 않으면 첫번째 값 반환 NULLIF(값1,값2) SELECT NULLIF(AGE,19) FROM MEMBER; 조건에 따른 값 선택하기 DECODE(기준값,비교값,출력값,비교값,출력값) SELECT DECODE(GENDER,'남성',1,2) FROM MEMBER; SELECT DECODE(SUBSTR(PHONE,1,3)'011'.. 더보기
[ORACLE]데이터형식 VARCHAR2 가변길이 데이터형식이다. CHAR는 길이가 정해져있다. 예를들어 CHAR(4)이면 반드시 4BYTE의 메모리가 주어진다. 반환하지 않는다. NAME VARCHAR2(50)일 경우 50BYTE가 최대 메모리값을 의미한다. NAME 컬럼에 나머지 값은 VALUE값을 넣은 후 남은 메모리는 반환된다. 참고로 한글 1글자는 3BYTE이다. CHAR 데이터형식은 CHAR(2) 이런식으로는 잘 쓰지 않는다. NCHAR(2) 이런식으로 많이 쓴다. N은 NATIONAL을 의미한다. 각 국의 언어를 다 넣을 수 있다. CHAR보다는 NCAHR를 쓰자. CHAR, VARCHAR2, NCHAR 모두 4000BYTE까지 MAX사이즈 가능하다. 더보기