건

오라클 SQL 기본 간단 정리

· 2008-04-17 (목) 09:25:02 · 5968
< 집합 쿼리 >                                                                                                          
a={1,3,5,7}  b={1,2,3,4}

union     : 합집합
a union b = {1,2,3,4,5,7}
union all : 공통원소 두번씩 다 포함한 합집합
a union all b = {1,1,2,3,3,4,5,7}
intersect : 교집합
a intersect b = {1,3}
minus     : 차집합
a minus b = {2,5,7}



< 문자열 >                                                                                                           

1 . CONCAT( column1|expression1 ,column2|expression2 )
   CONCAT('Good','String') --> GoodString : ||와 같은 역할을 한다.

2 . SUBSTR(column|expression, m [,n]) : m값이 음수면 문자값의 끝부터 (글자기준 )
    SUBSTR('String',1,3) --> Str : 1번째부터 3개의 문자를 리턴한다.

3. SUBSTRB(column|expression, m [,n]) : m값이 음수면 문자값의 끝부터 (바이트기준 )
   SUBSTRB('String',1,3) --> Str : 1번째부터 3개의 문자를 리턴한다

4. INITCAP( column|expression )
    INITCAP('string') --> String : 첫글자만 대문자, 나머지글자는 소문자로 변환

5. UPPER( column|expression )
   UPPER('String') --> STRING : 대문자로 변환

6. LOWER( column|expression )
   LOWER('String') --> string : 소문자로 변환

7. LPAD( column|expression,n,'string' ) : n 은 전체 길이와 채울문자(숫자가능)
   LPAD('String',10,'*') --> ****String

8. RPAD('String',10,'*') --> String****

9. LENGTH( column|expression )
   LENGTH('String') --> 6 : 문자열의 길이를 리턴한다.

10. REPLACE(column | 0 , 'r')   L01102 => Lr11r2

11. INSTR( column|expression )
    INSTR('String','r') --> 3 : 문자열에 'r'이 몇번째 위치인지를  (숫자)리턴

12. LTRIM(' String') --> 'String' : 문자열의 왼쪽 공백을 버린다.

13. RTRIM('String ') --> 'String' : 문자령의 오른쪽 공백을 버린다.
     * TRIM(leading/tailing/both, trim_character FROM trim_source )
     TRIM( 'S' FROM 'SSMITH') --> MITH



< 숫자 >                                                                                                                   

1. ROUND(45.926, 2) --> 45.93 : 소수점 두자리수까지 보여주면서 반올림한다.
SELECT ROUND(45.923,2), ROUND(45.923,0), ROUND(45.923,-1) FROM DUAL
==> 45.92 46 50

2. TRUNC(45.926, 2) --> 45.92 : 소수점 두자리까지만 보여주고 나머지는 버린다.
SELECT TRUNC(45.923,2), TRUNC(45.923), TRUNC(45.923,-1) FROM DUAL 
==> 45.92 45(n이 생략된면 일의 자리까지 남기고 버린다.) 40

3. MOD(1600,300) --> 100 : 1600을 300으로 나누고 나머지를 리턴한다.




< Date >                                                                                               

* SYSTEM 날짜를 갖고 오는 방법.
SELECT sysdate FROM dual

date + number : date에 number만큼 후의 날자를 보여준다.
date - number : date에 number만큼 전의 날자를 보여준다.
date1 - date2 : date1에서 date2 까지의 총 일수를 보여준다.( date1+date2는 X )
date1 + 숫자/24 : date1에서 시간을 더해 날짜를 보여준다.

MONTHS_BETWEEN('01-SEP-95','11-JAN-94') --> 19.6774194
; 두날짜 사이의 달수를 보여준다.

ADD_MONTHS('11-JAN-94', 6) --> 11-JUL-94
; 날짜에 6개월을 더한 날자를 보여준다.

NEXT_DAY('01-SEP-95','FRIDAY') --> '08-SEP-95'
; 해당일 다음에 오는 FRIDAY의 일자를 보여준다.
('SUNDAY'는 1, 'MONDAY'는 2...이런식으로 숫자를 써줘도 된다.)

LAST_DAY('01-SEP-95') --> '30-SEP-95'
; 해당월의 마지막날자를 보여준다.

ROUND('25-JUL-95','MONTH')--> 01-AUG-95
ROUND('25-JUL-95','YEAR')--> 01-JAN-96
TRUNC('25-JUL-95','MONTH') --> 01-JUL-95
TRUNC('25-JUL-95','YEAR') --> 01-JAN-95




< Conversion Functions >                                                                                                        

nlsparams : 십진수, 그룹구분자, 지역 통화 기호, 국제 통화 기호

TO_CHAR(date,['format'],[nlsparams]) : date를 format에 맞게 문자열로 변환한다.

- Date Format Elements
YYYY --> 1999 (년출력) , YEAR --> nineteen ninety-nine (년출력)
MM --> 12 (월출력) , MONTH --> DECEMBER (월출력), MON --> DEC
D --> 요일을 숫자로 리턴한다.(일요일은 1, 월요일은 2...)
DD --> 07 (달의 일출력)
DDD --> 200 (연의 일출력)그 해의 총 몇 일째인가를 리턴한다.
DAY --> MONDAY (요일출력) DY-->MON
CC --> 20 (몇 세기인지를 보여준다.)
WW --> 그 해의 몇 번째 주인가를 리턴한다.
W --> 그 달의 몇 번째 주인가를 리턴한다.

HH or HH12 or HH24 / MI(0-59분) / SS(0-59초)

* 문자열은 " " 묶어 추가한다 DD " of " MONTH --> 12 of DECEMBER
* 숫자 접미어는 숫자를 문자로 표기. TH(4->4TH)/ SP(4->FOUR)/ SPTH or THSP(4->FOURTH)

TO_CHAR(number,'format',[nlsparams]) : number를 format에 맞게 문자열로 변환한다.


- Number Format Elements
9 : 999,999 --> 1,234 $: 부동 달러 기호 $99999 -> $1234
0 : 099999 --> 001234 99.999EEEE -> 1.234E+03 B: 0값을 공백으로
L : L99,999 --> FF1,234 (NLS_CURRENCY에 설정되어있는 값이 L로 보여진다.)

TO_NUMBER(char,['format'],[nlsparams]) : 숫자형태의 문자열을 숫자로 변한한다.
TO_DATE(char,['format'],[nlsparams]):날자형태의 문자열을 format에 맞게 날자형식으로 변환 한다.



< NVL Funcion >
         : 값이 null일 때 설정값을 보여준다.                                                                                       
NVL(number_column, 0) : null일 때 0을 보여준다.
NVL(date_column, '01-JAN-95') : null일 때 '01-JAN-95'를 보여준다.
NVL(character_column, 'Empty') : null일 때 'Empty'를 보여준다.
* column Type과 표현식의 type이 반드시 일치해야 한다.


< DECODE Function >
       : CASE or IF-THEN-ELSE 형식과 비슷하다.                                                      
DECODE(col/expression, search1, result1 [,search2,result2,…] [,default])
[이 게시물은 관리자님에 의해 2011-10-31 16:47:36 Oracle에서 이동 됨]
|
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

8,188건
+
제목 글쓴이 날짜 조회
08-10-30 조회 2,667
08-10-30 조회 2,771
08-10-20 조회 2,497
08-10-11 조회 2,408
08-09-20 조회 4,148
08-09-20 조회 2,818
08-09-18 조회 2,676
08-09-18 조회 3,384
08-09-17 조회 3,267
08-09-05 조회 4,599
08-09-03 조회 2,718
08-08-18 조회 2,869
08-08-17 조회 2,614
08-08-13 조회 3,389
08-07-30 조회 3,451
08-07-28 조회 4,329
08-07-22 조회 5,561
08-07-22 조회 4,045
08-07-10 조회 3,010
08-07-08 조회 3,076
08-06-30 조회 3,835
08-06-30 조회 3,318
08-06-30 조회 3,626
08-06-14 조회 2,695
08-06-11 조회 7,065
08-06-05 조회 3,288
08-05-20 조회 4,794
08-05-13 조회 4,123
08-05-08 조회 3,088
08-05-08 조회 5,242
08-04-25 조회 4,038
08-04-22 조회 4,493
08-04-21 조회 3,141
08-04-17 조회 2,517
08-04-17 조회 2,923
08-04-17 조회 2,222
08-04-17 조회 5,189
08-04-17 조회 4,506
08-04-17 조회 4,496
08-04-17 조회 3,279
08-04-17 조회 3,110
08-04-17 조회 3,603
08-04-17 조회 4,972
08-04-17 조회 5,124
08-04-17 조회 3,330
08-04-04 조회 4,569
08-04-04 조회 2,798
08-04-04 조회 2,552
08-04-04 조회 2,780
08-04-04 조회 2,517
08-04-04 조회 2,748
08-04-03 조회 2,635
08-04-03 조회 2,710
08-04-02 조회 3,021
08-04-02 조회 3,173
08-03-31 조회 3,075
08-03-26 조회 4,238
08-03-11 조회 2,928
08-03-11 조회 2,345
08-03-11 조회 2,351
08-03-07 조회 4,173
08-03-07 조회 3,279
08-03-06 조회 4,714
08-03-04 조회 3,360
08-02-19 조회 3,758
08-02-03 조회 3,382
08-01-18 조회 3,956
08-01-15 조회 3,412
08-01-12 조회 4,259
08-01-12 조회 3,830
08-01-12 조회 3,777
07-12-24 조회 3,059
07-11-30 조회 3,908
07-11-08 조회 4,962
07-11-06 조회 3,815
07-10-26 조회 4,966
07-10-24 조회 4,149
07-10-22 조회 3,546
07-10-19 조회 4,721
07-10-09 조회 4,852
07-10-09 조회 6,731
07-10-05 조회 3,062
07-10-05 조회 3,996
07-10-03 조회 7,503
07-10-03 조회 3,552
07-10-03 조회 2,878
07-10-03 조회 2,822
07-09-28 조회 4,648
07-09-27 조회 3,723
07-09-27 조회 3,184
07-09-13 조회 3,321
07-08-28 조회 3,422
07-08-04 조회 4,805
07-08-01 조회 5,509
07-08-01 조회 4,915
07-07-30 조회 5,412
07-07-29 조회 3,552
07-07-21 조회 3,394
07-07-18 조회 5,348
07-07-16 조회 3,162