본문 바로가기

ORACLEDATABASE

[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] 형식변환함수 TO_CHAR(NUMBER), TO_DATE,TO_NUMBER 숫자 -> 문자열 TO_CHAR() 문자 -> 날짜 TO_DATE() 날짜 -> 문자 TO_CHAR() 문자 -> 숫자 TO_NUMBER() NUMBER 형식을 문자열로 변환 TO_CHAR(NUMBER) SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS' ) FROM DUAL; SELECT TO_CHAR(SYSDATE, 'YY/MM/DD HH24:MI') FROM DUAL //분까지만 나옴 문자열을 날짜 형식으로 변환하는 함수 TO_DATE(문자열,날짜포맷) SELECT TO_DATE('2014-03-31') FROM DUAL; SELECT TO_DATE('2014-03-31 12:23:03', 'YYYY-MM-DD HH:MI:SS') FROM DUAL; 문자열을 숫자로.. 더보기
[ORACLE] 문자열 길이 얻는 함수 LENGTH 문자열 길이를 얻는 함수 LENGTH //문자열 길이를 알아냄 SELECT LENGTH('WHERE WE ARE') FROM DUAL; //회원의 핸드폰 번호와 번호의 문자열 길이 조회 SELECT PHONE,LENGTH(PHONE) FROM MEMBER; 회원의 전화번호 컬럼에 포함된 문자 -를 없앤 전화번호 길이 SELECT LENGTH(REPLACE(PHONE,'-','')) FROM MEMBER; 더보기
[ORACLE] 문자열 검색 함수 INSTR 문자열 검색 함수 INSTR(문자열,검색문자열,위치,찾을수) //TO를 찾음 SELECT INSTR('ALL WE NEED TO IS JUST TO...','TO') FROM DUAL; //중복일경우 위치를 정해줌 SELECT INSTR('ALL WE NEED TO IS JUST TO..','TO',15) //15번부터 TO의 위치를 알려줌 // 문자열 1부터 찾는데 2번째 TO를 찾음 SELECT INSTR('ALL WE NEED TO IS JUST TO..','TO',1,2) //전화번호에서 두번째 대시 문자가 존재하는 위치를 출력하시오. SELECT INSTR(PHONE,'-',1,2) FROM MEMBER; //회원의 전화번호에섯 첫번째 대시 문자와 두번째 대시 문자 사이의 간격을 출력 SELEC.. 더보기
[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사이즈 가능하다. 더보기