값이 NULL일 경우 다른 값으로 출력해주는 함수들을 소개한다 아래는 설명에 쓰일 테이블입니다 NAME SALARY 철수 4000 영희 3500 훈이 NULL Oracle - NVL, NVL2 ORACLE에서는 NVL / NVL2 함수를 사용합니다 NVL(EXPR1, EXPR2) - EXPR1이 NULL이면 EXPR2의 값을 NULL이 아니면 EXPR1의 값 출력 SELECT NAME, NVL(SALARY, 'NO PAY') AS SALARY --> SALARY가 NULL이면 'NO PAY' 아니면 SALARY 출력 NAME SALARY 철수 4000 영희 3500 훈이 NO PAY 위 결과가 출력됩니다 어렵지 않죠?? NVL2(EXPR1, EXPR2, EXPR3) - EXPR1이 NULL이 아니면 EX..
날짜에서 더하거나 빼는 연산에 관한 내용입니다 Oracle에서 기본적인 날짜 연산 * SYSDATE함수는 실행될 때의 시간을 리턴합니다 SELECT SYSDATE + 1 --// 1일 후 출력 이렇게 하면 현재 날짜에 1일이 추가되어 출력됩니다 하루 전을 출력하려면 ( + )를 ( - )로 바꾸면 되겠죠 이 부분을 응용해서 1시간 1분 1초 후 등 다양하게 출력 가능합니다 1이 하루이기 때문에 1을 24로 나누면 1시간 거기서 60으로 또 나누면 1분 또 60으로 나누면 1초가 되겠죠? SELECT SYSDATE + 1/24 --// 1시간 후 SELECT SYSDATE + 1/24/60 --// 1분 후 SELECT SYSDATE + 1/24/60/60 --// 1초 후 ADD_MONTHS 함수를 이용..
SQL에서 문자를 합치는 기능에 관한 포스팅입니다 사용법은 굉장히 간단합니다 || (쌍파이프) 사용법 먼저 || (쌍파이프)는 문자(데이터)와 문자(데이터) 사이에 || 를 넣어주면 됩니다 아래와 같은 테이블이 있을 때 NAME CLASS POINT 철수 A 95 영희 B 80 SELECT NAME || CLASS || POINT AS 'ALL IN ONE' ALL IN ONE 철수A95 영희B80 이렇게 결과가 출력됩니다 지금 NAME, CLASS, POINT 값들이 다 붙어져 있어서 사이에 공백또는 문자로 연결하고 싶다면 SELECT NAME || ' ' || CLASS || ' ' || POINT AS 'ALL IN ONE WITH SPACE' -->> 사이사이 공백주기 SELECT NAME || ..
친구를 부를 때 이름 대신에 별명을 부르는 것처럼 기존 칼럼명 대신에 자신이 설정한 명칭으로 출력한다 AS에는 대소문자나 공백 , 한글 , 특수문자 등 표현 가능하다 아래는 사용방법이다 SELECT 칼럼명 AS 지정할 명칭 FROM 테이블명 SELECT 칼럼명 AS 지정할 명칭 FROM 테이블명 SELECT NAME 'StudentName' FROM member SELECT NAME AS 'StudentName' FROM member 위 두 구문은 같은 결과를 출력한다 즉 AS를 생략할 수도 있다 NAME StudentName 홍길동 >>> 홍길동 강감찬 강감찬
문자 길이를 채우는 함수들에 대해 포스팅하려고 합니다 LPAD , RPAD는 오라클에서 사용하는 아이들이고 REPLICATE는 MSSQL에서 사용합니다 LPAD / RPAD 사용법 (Oracle) SELECT LPAD(데이터, 고정길이, 문자) FROM DUAL --// 고정길이 안에 데이터를 출력하고 남는 공간을 문자로 채운다 --// LPAD는 왼쪽을 채우고 RPAD는 오른쪽을 채웁니다 SELECT LPAD('A', 4, 'B') AS TEST_LPAD FROM DUAL --// 결과: BBBA SELECT RPAD('A', 4, 'B') AS TEST_RPAD FROM DUAL --// 결과: ABBB LPAD/RPAD 함수는 세 개의 파라미터가 필요합니다 첫 번째 파라미터 'A'는 데이터입니다 ,..
SQL IN구문에 대해 포스팅하겠습니다 IN구문은 WHERE절 뒤에 붙여서 칼럼이 특정값을 가지고 있는지 확인하는 용도로 쓰입니다 먼저 설명에 쓰일 테이블입니다 사용법은 아래와 같습니다. SELECT 칼럼명 FROM 테이블명 WHERE 칼럼명 IN (값1, 값2 ...) -- 칼럼의 값이 값1 또는 값2에 해당하는 값만 출력 SELECT 칼럼명 FROM 테이블명 WHERE 칼럼명 NOT IN (값1, 값2 ...) -- 칼럼의 값이 값1, 값2 어디에도 해당하지 않는 것만 출력 예제로 이해하기 SELECT * FROM member WHERE name IN ('제갈량', '강감찬') WHERE절 뒤에 칼럼명 중에 IN 괄호 안에 있는 값을 가진 친구들만 출력하겠다는 내용입니다 name 칼럼에 제갈량 또는 ..