본문 바로가기

Lecture/SQL & Oracle18

[스크랩] 오라클 rownum 사용 순서대로 정렬 후 15개를 가져오는 결과를 원하신 거면 둘다 틀렸는데요.다음과 같이 해야 원하는 결과를 얻으실 수 있습니다. 1. id로 시작하는 index가 없는 경우SELECT ZZZ.*FROM ( SELECT id,name,email,homepage,content,ip,password,input_date FROM guestbook ORDER BY id desc ) ZZZ WHERE rownumBETWEEN 1 AND 15빨간색처럼 해야 원하는 결과를 얻을 수 있습니다. 이 처리는 데이터가 1억건이라면 1억건을 sort후 처리하므로 대용량에서는 Time-out이 될 수 있습니다. 2. id로 시작하는 인덱스가 guestbook_idx1이라고 가정하여 존재하는 경우SELECT ZZZ.*FROM( SEL.. 2013. 4. 21.
[SQL 기본만 알아도 할껀 다한다.] 날짜 함수 (Date Functions) 날짜를 처리하는 함수입니다. MONTHS_BETWEEN(date1, date2) 두 date의 개월차 ADD_MONTHS(date, n) date 에 n 개월 이후 NEXT_DATE(date, 'char' or num) date 의 다음 돌아오는 주 중 'char'요일 LAST_DATE(date) date 의 마지막 날짜 오라클은 오늘의 날짜와 시간에 대해 SYSDATE와 SYSTIMESTAMP 키워드를 제공합니다.(SYSTIMESTAMP 는 오라클 버전 9i 부터 가능합니다.) SYSDATE 연월일 시분초 SYSTIMESTAMP 연월일 시분초 밀리초 SQL에 오늘서 부터 언제까지, 언제부터 오늘까지 등 오늘을 표현하는데 사용할 수 있습니다. hire_date(입사일) 부터 오늘(SYSDATE)까지 몇 .. 2012. 7. 16.
[SQL 기본만 알아도 할껀 다한다.]숫자 함수(Number Functions) 문자 함수에 이어 숫자 함수를 알아보겠습니다. ROUND 반올림 TRUNC 버림 CEIL 올림 MOD 나머지 연산 반올림, 버림, 나머지가 뭔진 따로 설명 안하겠습니다;ㅋㅋROUND ( column | expression , n )이같은 형식으로 사용합니다.괄호 안 첫자리에 테이블 컬럼이나 수식을 넣고, 다음 자리에 위치나 나눌 값을 넣게 됩니다.당연히 컬럼의 데이터타입은 Number 여야 합니다. ㅋ 함수에서 숫자의 자리를 인식하는 법은숫자 4 5 . 9 2 3 ... 자릿수 -2 -1 0 1 2 ... 소수점 첫째자리를 0 으로 두고, 소수점 이하자리를 1, 2, 3, ... 으로 세어나가고0, 10, 100, ... 의 자리를 마이너스로 세어나갑니다. ROUND 반올림 입니다.위치값에 따라 45.9.. 2012. 7. 13.
[SQL 기본만 알아도 할껀 다한다.] 문자 처리 함수 (Character-Manipulation Functions) 문자 처리 함수에 대해 알아보겠습니다. (숫자 적용 가능)문자를 자르고 붙이는 등 다양한 함수를 제공하고, 이 함수들은 중첩해서 사용할 수 있습니다.오라클에서 문자를 세는 방법을 먼저 알아야합니다. 1 2 3 4 5 6 7 8 9 10 H e l l o W o r l d 사람이 숫자 세는 기준과 똑같습니다.맨 첫문자를 1로 놓고 세어나갑니다. 기능을 먼저 소개하고 예제로 들어갈께요. CONCAT('Hello', 'World') 두 문자열을 붙임 HelloWorld SUBSTR('HelloWorld', 1, 5) 문자열을 선택한 위치만큼 표시함 Hello LENGTH('HelloWorld') 문자열의 길이 10 INSTR('HelloWorld', 'W') 선택한 문자의 위치 6 TRIM('H' FROM '.. 2012. 7. 11.