INSTR() INSTR 함수를 사용해서 문자열의 마지막에서 부터 해당 문자의 위치를 찾고 싶을때 빨간색 파라미터는 생략가능 하다. 문법 INSTR ( [문자열], [찾을 문자 값], [찾기를 시작할 위치(1,-1)], [찾은 결과의 순번(1...n)] ) INSTR('비교할 대상', '비교하고자하는 값', 비교를 시작할 위치, 검색된 결과의 순번) EX SELECT INSTR('HELLO WORLD', 'O') STR1 -- 문자열의 앞에서부터 찾기(기본사용) , INSTR('HELLO WORLD', 'O', -1) STR2 -- 문자열의 뒤에서부터 찾기 (-1 : 뒤에서부터) , INSTR('HELLO WORLD', 'O', -1, 1) STR3 -- 문자열의 뒤에서부터 찾고 첫번째 찾은 문자 , I..
오라클에서 문자를 합치는 방법으로 CONCAT을 사용하는 방법과 || 를 사용하는 방법이 있다. 먼저 CONCAT 으로 문자를 합치는 방법부터 알아보자. CONCAT() (문자결합) 문법 (CONCAT) SELECT CONCAT(COUNTRY_ID, COUNTRY_NAME) FROM COUNTRIES; 가독성이 떨어지니 중간에 공백을 넣고싶다. 이렇게 문자열을 하나 더 합쳐야 할때 CONCAT을 한번 더 사용한다. SELECT CONCAT(CONCAT(COUNTRY_ID, ' '), COUNTRY_NAME) FROM COUNTRIES; 단점 : 오라클 관점에서는 가독성을 높여줄 지 몰라도 단점이 있다. 단 두개의 문자열에 대해서만 연결이 가능하다는 점이다. 3개의 문자열을 합치려면 함수를 함수로 감싸줘야..
출처: https://carami.tistory.com/18 [carami's story] 1. IN - 조건절에서 사용하며 다수의 비교값과 비교하여 비교값 중 하나라도 같은 값이 있다면 true 이다. - SELECT * FROM emp WHERE sal IN(950, 3000, 1250); - 'sal = 950 OR sal = 3000 OR sal = 1250' - 950, 3000, 1250 과 동일한 값은 모두 출력한다. 2. ANY - 다수의 비교값 중 한개라도 만족하면 true 이다. - IN 과 다른점은 비교 연산자를 사용한다는 점이다. ? 1 SELECT * FROM emp WHERE sal =ANY(950, 3000, 1250) - 이 문장은 위의 IN의 결과와 같다. "=" 연산자는 ..
--TO_DATE() 함수 활용 문자형을->날짜형으로 바꿔줌 -- SELECT ENAME,JOB,HIREDATE FROM TBL_EMP WHERE HIREDATE=TO_DATE('1981-09-28','YYYY-MM-DD'); -- BETWEEN ⓐ AND ⓑ -- -날짜뿐만 아니라 숫자 ,문자에도 적용 가능 ex)WHERE HIREDATE BETWEEN TO_DATE('1981-04-02','YYYY-MM-DD') AND TO_DATE('1981-09-28','YYYY-MM-DD'); //날짜 ex)WHERE SAL BETWEEN 2000 AND 3000; //숫자 ex)WHERE ENAME BETWEEN 'C' AND 'S'; //문자 단 !★★★ -- 문자 형 일경우 아스키 코드 순서를 따르기 때문..
1. DUAL 듀얼 테이블(DUAL table)은 모든 오라클 데이터베이스 설치본에 기본으로 존재하는, 한 열로 이루어진 특별한 테이블이다. SYSDATE, USER와 같은 의사컬럼 선택에 사용하는 것이 적절하다. 이 테이블은 'X' 값을 포함하는 DUMMY(더미)라 불리는 하나의 VARCHAR2(1) 열이 있다. 일반적으로 DUAL TABLE의 Owner는 SYS이지만 모든 사용자가 사용할 수 있다. 그리고 SELECT 문장에서 조회 시 오직 하나의 Row, 하나의 Column에 'X'만 출력된다. DUAL 예제 1 2 3 4 5 6 7 8 SELECT SYSDATE FROM DUAL; SELECT 10*20 FROM DUAL; SELECT * FROM DUAL; cs 2. 문자처리 함수 함수 설명 U..
1. 테이블 조회하기 - 테이블 목록 조회 SELECT * FROM all_all_tables SELECT * FROM dba_tables SELECT * FROM ALL_OBJECTS WHERE OBJECT_TYPE = 'TABLE' - 테이블 목록 조회 (접속한 계정) SELECT * FROM tabs SELECT * FROM USER_OBJECTS WHERE OBJECT_TYPE = 'TABLE' SELECT * FROM USER_TABLES - 테이블 코멘트 조회 SELECT * FROM ALL_TAB_COMMENTS WHERE TABLE_NAME = '테이블명' SELECT * FROM USER_TAB_COMMENTS 2. 컬럼 조회하기 - 컬럼 조회 SELECT * FROM COLS WHERE..
오라클 NVL, NVL2 함수 사용법 NVL이란 ? -해당 컬럼의 값이 null 값인 경우 특정값으로 출력하고 싶으면 NVL 함수를 사용하고, NVL 함수는 값이 null인 경우 지정값을 출력한다. - 함수 : NVL("값", "지정값") NVL2란? -null 값이 아닐경우 특정값으로 출력하고 싶으면 NVL2 함수를 사용하면 된다. NVL2 함수는 첫번쨰 파라미터가 null이 아닌경우 지정값1을 출력하고, null인 경우 지정값2을 출력 한다. - 함수 : NVL2("값", "지정값1", "지정값2") NUMBLER() -number(5,2) -> 정수부분 3자리 이상 넘어갈 수 없음 - 5-2=3 3은 100의자리 ( 즉, -999 ~ +999까지 ) DECODE() 위의 NVL, NVL2 함수를 사..
INSERT -INSERT명령어는 테이블 안에 데이터를 삽입하는 역할을 한다. -문자열은 따옴표로 감싼다. -각 컬럼에 맞는 데이터타입을 입력해줘야한다. SELECT 문장을 이용한 INSERT문 - 테이블 이름 옆에 ()생략시에는 자동으로 모든 컬럼을 VALUES()안에 입력 시킨다. UPDATE 테이블 안의 데이터를 수정 하는것. DELETE 사용하지 않는 데이터를 삭제 한다. ★ DELETE문을 사용할땐 꼭 ! 다음과 같이 확인 후 삭제하도록 하자 ★ 1.먼저 SELECT로 삭제 하려는 데이터를 확인한다. 2.SELECT문을 DELETE로 바꾼다. 3.삭제한다. EX) -- 사원번호가 7902번인 사원의 데이터를 삭제. SQL> DELETE FROM emp WHERE empno = 7902 ; (DE..