SQL
-
DECODE함수 : IF ELSE와 비슷한 기능을 수행한다. ( 최근에는 CASE WHEN 구문 사용을 많이 권장한다.) SELECT DECODE(컬럼, B, X, C, Y, Z) -- 컬럼 = B 이면 X, 컬럼 = C 이면 Y, 둘 다 아니면 Z FROM 테이블명 SELECT DECODE(컬럼, 'M', '남자', '여자') FROM 테이블명 -- 컬럼이 M 이면 남자 그게 아니면 여자(ELSE 부분은 생략 가능하며 조건이 없을 시 NULL)
[ORACLE] DECODE 함수DECODE함수 : IF ELSE와 비슷한 기능을 수행한다. ( 최근에는 CASE WHEN 구문 사용을 많이 권장한다.) SELECT DECODE(컬럼, B, X, C, Y, Z) -- 컬럼 = B 이면 X, 컬럼 = C 이면 Y, 둘 다 아니면 Z FROM 테이블명 SELECT DECODE(컬럼, 'M', '남자', '여자') FROM 테이블명 -- 컬럼이 M 이면 남자 그게 아니면 여자(ELSE 부분은 생략 가능하며 조건이 없을 시 NULL)
2022.08.16 -
NVL 함수 : NULL인 경우 지정값을 출력하고 NULL이 아닐경우 그대로 출력한다. SELECT NVL(컬럼, 변경할 값) FROM 테이블명 NVL 함수 : NULL이 아닌 경우 지정값1을 출력하고 NULL인 경우 지정값2를 출력한다. SELECT NVL2(컬럼, 지정값1, 지정값2) FROM 테이블명
[ORACLE] NVL, NVL2NVL 함수 : NULL인 경우 지정값을 출력하고 NULL이 아닐경우 그대로 출력한다. SELECT NVL(컬럼, 변경할 값) FROM 테이블명 NVL 함수 : NULL이 아닌 경우 지정값1을 출력하고 NULL인 경우 지정값2를 출력한다. SELECT NVL2(컬럼, 지정값1, 지정값2) FROM 테이블명
2022.08.16 -
TRIM함수 : 문자열의 양쪽 공백을 제거하는 기본적인 함수이다. SELECT TRIM(컬럼) FROM 테이블명; LTRIM함수 : 왼쪽 공백 제거, 왼쪽 반복적인 문자 제거 SELECT LTRIM(컬럼) FROM 테이블명; SELECT LTRIM(ZJFFJA, '제거할 문자') FROM 테이블명; RTRIM함수 : 오른쪽 공백 제거, 오른쪽 반복적인 문자 제거 SELECT RTRIM(컬럼) FROM 테이블명; SELECT RTRIM(컬럼, '제거할 문자') FROM 테이블명; REPLACE함수 : 문자열을 치환하거나 공백을 제거 SELECT REPLACE(컬럼,' ', '') -- 공백 제거 FROM 테이블명 SELECT REPLACE(컬럼,변경될 문자, 변경할 문자) -- 공백 제거 FROM 테이블명
[ORACLE] 공백 제거TRIM함수 : 문자열의 양쪽 공백을 제거하는 기본적인 함수이다. SELECT TRIM(컬럼) FROM 테이블명; LTRIM함수 : 왼쪽 공백 제거, 왼쪽 반복적인 문자 제거 SELECT LTRIM(컬럼) FROM 테이블명; SELECT LTRIM(ZJFFJA, '제거할 문자') FROM 테이블명; RTRIM함수 : 오른쪽 공백 제거, 오른쪽 반복적인 문자 제거 SELECT RTRIM(컬럼) FROM 테이블명; SELECT RTRIM(컬럼, '제거할 문자') FROM 테이블명; REPLACE함수 : 문자열을 치환하거나 공백을 제거 SELECT REPLACE(컬럼,' ', '') -- 공백 제거 FROM 테이블명 SELECT REPLACE(컬럼,변경될 문자, 변경할 문자) -- 공백 제거 FROM 테이블명
2022.08.16 -
날짜 → 문자열 SELECT TO_CHAR(sysdate, 'YYYY-MM-DD') FROM DUAL; -- YYYY-MM-DD 형식 SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH:MI:SS') FROM DUAL; -- YYYY-MM-DD 시간형식을 12시간 기준으로 SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') FROM DUAL; -- YYYY-MM-DD 시간형식을 24시간 기준으로 문자열 → 날짜 SELECT TO_DATE('YYYYMMDD') FROM DUAL; -- 문자열을 날짜로 바꾼다. SELECT TO_DATE('YYYYMMDDHH24MISS') FROM DUAL; -- 연월일 시분초까지 날짜로 변경 ※ TO_CHAR , TO_..
[ORACLE] 날짜 -> 문자열 , 문자열 -> 날짜날짜 → 문자열 SELECT TO_CHAR(sysdate, 'YYYY-MM-DD') FROM DUAL; -- YYYY-MM-DD 형식 SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH:MI:SS') FROM DUAL; -- YYYY-MM-DD 시간형식을 12시간 기준으로 SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') FROM DUAL; -- YYYY-MM-DD 시간형식을 24시간 기준으로 문자열 → 날짜 SELECT TO_DATE('YYYYMMDD') FROM DUAL; -- 문자열을 날짜로 바꾼다. SELECT TO_DATE('YYYYMMDDHH24MISS') FROM DUAL; -- 연월일 시분초까지 날짜로 변경 ※ TO_CHAR , TO_..
2022.08.16 -
BETWEEN은 날짜, 숫자의 범위 검색에 아주 유용하며 문자의 범위 검색도 가능하다. SELECT 컬럼명 FROM 테이블명 WHERE 컬럼명 BETWEEN 시작일자 AND 종료일자 - 날짜 컬럼에 시간이 포함되었다면 종료일자에 0.99999를 더하여 해당일자의 마지막 시간(1981-12-31 23:59:59)으로 변환 후 조회한다. SELECT 컬럼 FROM 테이블명 WHERE 컬럼 BETWEEN 시작일자 AND 종료일자 + 0.99999 ※ 비교연산자(>=,
[ORACLE] BETWEEN ~ ANDBETWEEN은 날짜, 숫자의 범위 검색에 아주 유용하며 문자의 범위 검색도 가능하다. SELECT 컬럼명 FROM 테이블명 WHERE 컬럼명 BETWEEN 시작일자 AND 종료일자 - 날짜 컬럼에 시간이 포함되었다면 종료일자에 0.99999를 더하여 해당일자의 마지막 시간(1981-12-31 23:59:59)으로 변환 후 조회한다. SELECT 컬럼 FROM 테이블명 WHERE 컬럼 BETWEEN 시작일자 AND 종료일자 + 0.99999 ※ 비교연산자(>=,
2022.08.16 -
IN연산자 : 하나의 칼럼에 2개 이상의 칼럼 정보를 불러올 때 사용합니다. SELECT 컬럼, 컬럼 FROM 테이블명 WHERE 컬럼 IN (찾고자하는 값, 찾고자하는 값); NOT IN연산자 : 행당하는 값을 빼고 출력을 한다.(조건값만 제외하고 출력한다.) SELECT 컬럼, 컬럼 FROM 테이블명 WHERE 컬럼 NOT IN(제외 값, 제외 값); AND연산자 : 서로 다른 칼럼의 조건문을 연결한다. SELECT 컬럼, 컬럼 FROM 테이블명 WHERE 컬럼 AND 컬럼; -- 서로 다른 컬럼 OR연산자 : 서로 같은 칼럼의 조건문을 연결한다. SELECT 컬럼, 컬럼 FROM 테이블명 WHERE 컬럼 OR 컬럼 -- 서로 같은 컬럼 BETWEEN AND 연산자 : 컬럼과 컬럼 사이의 값을 출력...
[ORACLE] 연산자IN연산자 : 하나의 칼럼에 2개 이상의 칼럼 정보를 불러올 때 사용합니다. SELECT 컬럼, 컬럼 FROM 테이블명 WHERE 컬럼 IN (찾고자하는 값, 찾고자하는 값); NOT IN연산자 : 행당하는 값을 빼고 출력을 한다.(조건값만 제외하고 출력한다.) SELECT 컬럼, 컬럼 FROM 테이블명 WHERE 컬럼 NOT IN(제외 값, 제외 값); AND연산자 : 서로 다른 칼럼의 조건문을 연결한다. SELECT 컬럼, 컬럼 FROM 테이블명 WHERE 컬럼 AND 컬럼; -- 서로 다른 컬럼 OR연산자 : 서로 같은 칼럼의 조건문을 연결한다. SELECT 컬럼, 컬럼 FROM 테이블명 WHERE 컬럼 OR 컬럼 -- 서로 같은 컬럼 BETWEEN AND 연산자 : 컬럼과 컬럼 사이의 값을 출력...
2022.08.16 -
TO_CHAR() 함수는 날짜, 숫자 등의 값을 문자열로 변환하는 함수이다. 날짜 포맷 변경 (YYYY-MM-DD) SELECT TO_CHAR(SYSDATE, 'YYYYMMDD') --20200723 , TO_CHAR(SYSDATE, 'YYYY/MM/DD') --2020/07/23 , TO_CHAR(SYSDATE, 'YYYY-MM-DD') --2020-07-23 , TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') --2020-07-23 11:10:52 FROM dual YYYY: 년, MM: 월, DD: 일, HH24: 24시간, HH: 12시간, MI: 분, SS:초 소수점 변경 SELECT TO_CHAR(123.456, 'FM990.999') --123.456 , TO_CH..
[ORACLE] TO_CHAR 함수TO_CHAR() 함수는 날짜, 숫자 등의 값을 문자열로 변환하는 함수이다. 날짜 포맷 변경 (YYYY-MM-DD) SELECT TO_CHAR(SYSDATE, 'YYYYMMDD') --20200723 , TO_CHAR(SYSDATE, 'YYYY/MM/DD') --2020/07/23 , TO_CHAR(SYSDATE, 'YYYY-MM-DD') --2020-07-23 , TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') --2020-07-23 11:10:52 FROM dual YYYY: 년, MM: 월, DD: 일, HH24: 24시간, HH: 12시간, MI: 분, SS:초 소수점 변경 SELECT TO_CHAR(123.456, 'FM990.999') --123.456 , TO_CH..
2022.08.16 -
USER_PROCEDURES : DB에 존재하는 프로시저 목록 정보 프로시저 조회 SELECT * FROM USER_PROCEDURES WHERE OBJECTS_NAME LIKE '%%'; USER_SOURCE : DB에 존재하는 모든 오브젝트 목록 정보 프로시저 내용 조회 SELECT TEXT FROM USER_SOURCE WHERE NAME LIKE '%%' USER_OBJECTS : 프로시저의 내용과 TYPE 정보 프로시저 내용 변수 조회 SELECT * FROM SYS.USER_ARGUMENTS WHERE OBJECT_NAME LIKE '%%' 모든 잡스케줄러 조회 SELECT * FROM ALL_JOBS SELECT * FROM USER_JOBS
[ORACLE] PROCEDURE 조회USER_PROCEDURES : DB에 존재하는 프로시저 목록 정보 프로시저 조회 SELECT * FROM USER_PROCEDURES WHERE OBJECTS_NAME LIKE '%%'; USER_SOURCE : DB에 존재하는 모든 오브젝트 목록 정보 프로시저 내용 조회 SELECT TEXT FROM USER_SOURCE WHERE NAME LIKE '%%' USER_OBJECTS : 프로시저의 내용과 TYPE 정보 프로시저 내용 변수 조회 SELECT * FROM SYS.USER_ARGUMENTS WHERE OBJECT_NAME LIKE '%%' 모든 잡스케줄러 조회 SELECT * FROM ALL_JOBS SELECT * FROM USER_JOBS
2022.08.16