본문 바로가기

Database/SQL 오라클20

Oracle-오라클 문자 합치기(CONCAT, ||) 오라클에서 문자를 합치는 방법으로 CONCAT을 사용하는 방법과 || 를 사용하는 방법이 있다. 먼저 CONCAT 으로 문자를 합치는 방법부터 알아보자. CONCAT() (문자결합) 문법 (CONCAT) SELECT CONCAT(COUNTRY_ID, COUNTRY_NAME) FROM COUNTRIES; 가독성이 떨어지니 중간에 공백을 넣고싶다. 이렇게 문자열을 하나 더 합쳐야 할때 CONCAT을 한번 더 사용한다. SELECT CONCAT(CONCAT(COUNTRY_ID, ' '), COUNTRY_NAME) FROM COUNTRIES; 단점 : 오라클 관점에서는 가독성을 높여줄 지 몰라도 단점이 있다. 단 두개의 문자열에 대해서만 연결이 가능하다는 점이다. 3개의 문자열을 합치려면 함수를 함수로 감싸줘야.. 2019. 9. 22.
ORACLE - ALL() , =ANY() , IN() 차이와 비교 출처: 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의 결과와 같다. "=" 연산자는 .. 2019. 9. 22.
SQL -TO DATE() , BETWEEN A AND B,ANY,LIKE --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'; //문자 단 !★★★ -- 문자 형 일경우 아스키 코드 순서를 따르기 때문.. 2019. 9. 22.
ORACLE -문자처리 함수 (UPPER,LOWER,INITCAP,INSTR,SUBSTR,LPAD,LTRIM) 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.. 2019. 9. 22.
ORACLE - TABLE 조회 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.. 2019. 9. 22.
ORACLE - NVL() , NVL2() ,NUMBER(),DECODE() 오라클 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 함수를 사.. 2019. 9. 22.