[3] Single-Row Functions 



1. Character Functions 

①LOWER( column|expression ) 

LOWER('String') --> string : 소문자로 변환 

②UPPER( column|expression ) 

UPPER('String') --> STRING : 대문자로 변환 

③INITCAP( column|expression ) 

INITCAP('string') --> String : 첫글자만 대문자이고 나머지 글자는 소문자로 변환 

④CONCAT( column1|expression1 ,column2|expression2 ) 

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

⑤SUBSTR(column|expression, m [,n]) : m값이 음수면 문자값의 끝부터..) 

SUBSTR('String',1,3) --> Str : 1번째부터 3개의 문자를 리턴한다. 

⑥LENGTH( column|expression ) 

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

⑦INSTR( column|expression, ) 

INSTR('String','r') --> 3 : 문자열에 'r'이 몇번째 위치하고 있나를 리턴한다. 

⑧LPAD( column|expression,n,'string' ) : n 은 전체 길이 

LPAD('String',10,'*') --> ****String 

: 10자리수 중에 모자란 자리수를 '*'로 왼쪽에 채운다.(문자,숫자 가능!!!) 

⑨ RPAD

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

: 10자리수 중에 모자란 자리수를 '*'로 오른쪽에 채운다.(문자,숫자 가능!!!) 

⑩ LTRIM

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

⑪ RTRIM

RTRIM('String ') --> 'String' : 문자열의 오른쪽 공백을 버린다. 

* TRIM(leading/tailing/both, trim_character FROM trim_source ) 

TRIM( 'S' FROM 'SSMITH') --> MITH 



2. Number Functions 

① ROUND(45.926, 2) --> 45.93 : 소수점 두자리수까지 보여주면서 반올림한다. 

② TRUNC(45.926, 2) --> 45.92 : 소수점 두자리까지만 보여주고 나머지는 버린다. 

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

* ROUND예제(WHOLE NUMBER:정수) 

SELECT ROUND(45.923,2), ROUND(45.923,0), ROUND(45.923,-1) FROM DUAL 

==> 45.92 46 50 

* TRUNC예제 

SELECT TRUNC(45.923,2), TRUNC(45.923), TRUNC(45.923,-1) FROM DUAL 

==> 45.92 45(n이 생략되면 일의 자리까지 남기고 버린다.) 40 

* SYSTEM 날짜를 갖고 오는 방법. 

SELECT sysdate FROM dual 



3. Date 계산( 날짜를 숫자로 저장) 

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


4. Date Functions 

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



5. 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 --> 그 달의 몇 번째 주인가를 리턴한다. 


* Element들을 소문자로 쓰면 소문자로 나오고 대문자로 쓰면 대문자로 출력된다. 

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) 

ddspth : 14 -> fothteenth 


* / . , : 구두점은 결과에 그대로 출력한다.


* 공백, 선행제로를 제거하는 fm요소가 있다. 


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에 맞게 날자형식으로 변환 한다. 



6. 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이 반드시 일치해야 한다. 


7. DECODE Function : CASE or IF-THEN-ELSE 형식과 비슷하다. 

*DECODE(col/expression, search1, result1 [,search2,result2,…] [,default]) 

F1 (F2 (F3 (col,arg1),arg2),arg3) 



'Tech: > 일반·기타' 카테고리의 다른 글

Oracle PL/SQL문 강좌(5)  (0) 2008.06.26
Oracle PL/SQL문 강좌(4)  (0) 2008.06.26
Oracle PL/SQL문 강좌(2)  (0) 2008.06.26
Oracle PL/SQL문 강좌(1)  (0) 2008.06.26
Java 암호화 모듈(JCE) 설치  (0) 2008.06.26


Posted by 떼르미
,


자바스크립트를 허용해주세요!
Please Enable JavaScript![ Enable JavaScript ]