본문 바로가기

오라클

오라클 LIKE : 주어진 문자열이 패턴과 일치 하는지 여부 판단(성능별로) -- LIKE : 주어진 문자열이 패턴과 일치 하는지 여부 판단(성능별로) --% : 0문자 이상 공통 --_ : 한문자 공통 SELECT name, tel FROM insa WHERE name LIKE '김%';=> name컬럼의 첫글자가 '김'인 데이타 모두 출력SELECT name, tel FROM insa WHERE name NOT LIKE '김%';=> name컬럼의 첫글자가 '김'이 아닌 데이타 모두 출력SELECT name, tel FROM insa WHERE tel LIKE '%3%';=> tel컬럼의 중간에 '3'이 들어가는 데이타 모두 출력SELECT name, ssn FROM insa WHERE ssn LIKE '_0%'; => ssn컬럼에 첫번째 글자는 아무거나, 두번째 글자는 '0.. 더보기
오라클 IN : 피연산자중 하나와 동일하면 TRUE(OR 연산) -- IN(값, 값, ...) : 피연산자중 하나와 동일하면 TRUE(OR 연산) SELECT name, city FROM insa WHERE city ='서울' OR city='부산' OR city='대구'; SELECT name, city FROM insa WHERE city IN('서울', '부산','대구');=> 위 예제와 아래 예제의 결과는 동일하다(OR 연산 한다는 것을 알 수 있다) SELECT name FROM insa WHERE SUBSTR(ssn,8,1) IN (2,4,6); 더보기
오라클 ORDER BY : 정렬 -- ORDER BY : 정렬 -- ASC : 오름차순(생략하면 오름차순) -- DESC : 내림차순 -- 오름차순 정렬SELECT name, basicpay FROM insa ORDER BY basicpay;SELECT name, basicpay FROM insa ORDER BY basicpay ASC; -- 내림차순 정렬SELECT name, basicpay FROM insa ORDER BY basicpay DESC; --부서별 오름차순으로 정렬하고 부서가 같으면 직위 오름차순 정렬( ㄱ 부터 A 부터 1부터)SELECT name, buseo,jikwi FROM insa ORDER BY buseo, jikwi; --부서별 내림차순으로 정렬하고 부서가 같으면 직위 오름차순 정렬(ㅎ 부터 Z 부터 9부터.. 더보기
오라클 NULL : 값이 존재하지 않는 상태 -- NULL : 값이 존재하지 않는 상태 -- null을 비교할 때는 =,!=으로 할 수 없다. -- IS NULL : NULL 이면 참 -- IS NOT NULL : NULL이 아니면 참 -- NULL 관련 주요 함수 -- NVL(e1,e2) : e1이 NULL 이면 e2를 반환하고 그렇지 않으면 e1을 반환한다. -- NVL2(e1,e2,e3) : e1이 NULL 이 아니면 e2를 반환하고 NULL 이면 e3반환 -- NULLF(e1,e2) : 두표현식이 같으면 NULL, 다르면 e1반환 -- COALESCE(e1, e2, .... en) : 첫번째로 null 이 아닌것을 반환 -- LNNVL(조건) : 조건이 거짓이거나 같이 존재하지 않으면 TRUE, 그렇지 않으면 FALSE를 반환하며 WHERE.. 더보기
오라클 CASE ~ END : 조건에 따라 실행을 다르게 하는 조건문 -- CASE - END : 조건에 따라 실행을 달리 함 --금액별 세금 매기기SELECT name, basicpay, sudang, CASE WHEN basicpay + sudang >= 3000000 THEN 0.03 --기본급과 수당의 합이 3백만원이 넘으면 3%를 WHEN basicpay + sudang >= 2000000 THEN 0.02 --2백만원이 넘으면 2%를 ELSE 0.01 --그 외에는 모두 1%를 부과한다 END * (basicpay + sudang) 세금 -- 각 조건에 해당하는 수치를 END에 적용시킨다. 여기서 수식이 없었다면 0.03과 같이 그냥 찍힘.FROM insa; -- 주의 시작과 끝SELECT SYSDATE,CASE WHEN TO_CHAR(SYSDATE, 'DAY'.. 더보기
오라클 날짜 표현 -- 국가 통화 날짜 등 여러가지 출력 형식 확인하는 쿼리SELECT parameter, value FROM NLS_SESSION_PARAMETERS;-- 국가 설정 변경ALTER SESSION SET NLS_LANGGUAGE = 'KOREAN';-- 통화기호 변경ALTER SESSION SET NLS_CURRENCY = '\'; -- 기본적인 날짜 출력 형식 : RR/MM/DDSELECT SYSDATE FROM DUAL;=> 13/05/30--날짜형식 변경 ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD';ALTER SESSION SET NLS_DATE_FORMAT = 'RR/MM/DD';-- SYSDATE : 컴퓨터 시스템의 현재 날짜를 반환-- CURRENT_D.. 더보기
3.변환,절삭,나머지,반올림 [] 괄호는 사용안해도 된다는 뜻. - 나머지 MOD(m, n) m/n의 나머지가 나옴.SELECT MOD(13, 8) FROM DUAL; - 절삭 TRUNC(m,[,n]) m: 수식or숫자, n:소수점 출력할 갯수(생략하면 정수로 계산)SELECT 13/8, TRUNC(13/8), MOD(13,8) FROM DUAL =>13/8 이 계산됨, 13/8이 소수점이하절삭되서 나옴,MOD는 나머지 5가 나옴SELECT TRUNC(15.693), TRUNC(15.79,0), TRUNC(15.79,-1) FROM DUAL;=>15,15 - 반올림 ROUND(m [, n]) : m: 숫자 n:반올림할 자릿수(생략하면 정수로 반올림) SELECT ROUND(15.693), ROUND(15.193), ROUND(15... 더보기
2.스칼라 함수 (단일행) - 스칼라 함수 (단일행) 문자열 추출 SUBSTR(char, m[,n])EX1) SELECT SUBSTR('seoul korea', 7, 3) FROM dual ; -- 7번째부터 3개추출(주위:오라클은 인덱스가 1부터)EX2) SELECT SUBSTR('seoul korea', -5, 3) FROM dual ; -- 뒤에서 5번째부터 3개추출EX3) SELECT SUBSTR('seoul korea', 7) FROM dual ; -- 7번째부터 끝까지 SUBSTR과 WHERE의 결합SELECT name, ssn, buseo FROM insa WHERE (SUBSTR(ssn,8,1)='1';=> 설명 insa 테이블에서 SELECT를 사용하여 보고싶은 컬럼을 선택하고WHERE을 이요하여 ssn 컬럼에 조.. 더보기