반응형
구분 | 함수명 | 사용빈도 | 설명 | 예제 | 유사처리 |
문자함수 | CANCAT | 낮음 | 첫 번째 문자와 두 번째 문자를 연결 | select CONCAT('val1', ' val2') from dual; select CONCAT('val1', null) from dual; |
select 'val1' || 'val2' from dual; select 'val1' || null from dual; |
문자함수 | COALESCE | 낮음 | 인자순서대로 값을 확인하여 null 이 아닌 첫번째 값을 출력 | select coalesce( 'aa', 'bb', 'cc','dd' ) from dual; select coalesce( null, 'bb', 'cc','dd' ) from dual; select coalesce( null, null, 'cc','dd' ) from dual; select coalesce( null, null, null,'dd' ) from dual; |
|
문자함수 | INITCAP | 낮음 | 첫 글자는 대문자,나머지는 소문자로 | select INITCAP( 'woo seo hyun') from dual; | |
문자함수 | INSTR | 낮음 | 문자열 내의 특정 스트림의 위치 | select INSTR('대상문자열abcdef 1234', 's') from dual; select INSTR('대상문자열abcdef 1234', '대') from dual; select INSTR('대상문자열abcdef 1234', '대상문자열') from dual; select INSTR('대상문자열abcdef 1234', 'abc') from dual; |
|
문자함수 | LENGTH | 높음 | 문자의 길이를 리턴할 때 | select LENGTH('문자열 abc 123') from dual; | |
문자함수 | LENGTHB | 문자열의 실제 길이(byte)를 반환할 때 | select LENGTHB('문자열 abc 123') from dual; | ||
문자함수 | LOWER | 높음 | 모든 문자를 소문자로 | select LOWER('AaaBbbCC') from dual; | |
문자함수 | LPAD | 보통 | 문자열을 제외한 공간에 지정한 문자열로 대체(왼쪽) | select LPAD('10',4,'20')||'-'||LPAD('3',2,'0')||'-'||LPAD('12',2,'0') from dual; | |
문자함수 | LTRIM | 보통 | 문자열 왼쪽 공백 제거 | select LTRIM(' a a a ') from dual; | |
문자함수 | NULLIF | 낮음 | 두인자의 값이 같으면 NULL,다르면 첫번째인자 값을 리턴 | select NULLIF('a','a') from dual; select NULLIF('a','b') from dual; |
|
문자함수 | NVL | 높음 | 널값을 다른 값으로 대체할 때 | select NVL(null, '대체값') from dual; | |
문자함수 | NVL2 | 낮음 | 조건에 의해 널값을 다른 값으로 대체할 때 | select NVL2('조건aa','null아님','null 값'), '조건aa' from dual; select NVL2('조건bb','null아님','null 값'), '조건bb' from dual; select NVL2(null,'null아님','null 값'), null from dual; |
|
문자함수 | REGEXP_REPLACE | 낮음 | 정규식을 적용한 REPLACE 함수 | select REGEXP_REPLACE('봉천12동', '[0-9]', '') from dual; | |
문자함수 | REPLACE | 높음 | 특정 문자열을 다른 문자열로 대체 | select REPLACE('내차는 티코 입니다.', '티코', '아우디') from dual; | |
문자함수 | RPAD | 보통 | 문자열을 제외한 공간에 지정한 문자열로 대체(오른쪽) | select RPAD('1',10,'0') from dual; | |
문자함수 | RTRIM | 보통 | 문자열 오른쪽 공백제거 | select RTRIM(' a a a ') from dual; | |
문자함수 | SUBSTR | 높음 | 문자의 길이를 리턴할 때 | select SUBSTR('123일이삼abc', 5) from dual; select SUBSTR('123일이삼abc', 5, 3) from dual; |
|
문자함수 | SUBSTRB | 낮음 | 특정 문자의 문자열중 필요 부분만 선별하여 사용 | select SUBSTRB('123일이삼abc', 5) from dual; select SUBSTRB('123일이삼abc', 5, 14) from dual; |
|
문자함수 | TRANSLATE | 낮음 | 첫인자의 문자를 탐색집합의 첫 문자로 대체 | select TRANSLATE('봉천12동', 'X0123456789', 'X') from dual; select TRANSLATE('abcde fgh I j', 'X ', 'X') from dual; select TRANSLATE('abcde fgh I 123j', 'X0123456789, '') from dual; |
select REGEXP_REPLACE('봉천12동', '[0-9]', '') from dual; 모든 경우 정규식으로 대체가능 |
문자함수 | UPPER | 높음 | 모든 문자를 대문자로 | select UPPER('AaaBbbCC') from dual; | |
시스템함수 | USER | 낮음 | 현재 DB 사용자 | select USER from dual; | |
숫자함수 | ROUND | 높음 | 해당 소수점 자리에서 반올림할 때 | select ROUND(123.4567, 0) from dual; select ROUND(123.4567, 2) from dual; |
|
숫자함수 | TRUNC | 높음 | 해당 소수점 자리에서 절삭할 때 | select TRUNC(123.4567, 0) from dual; select TRUNC(123.4567, 2) from dual; |
|
숫자함수 | MOD | 보통 | m을 n으로 나누고 남은 나머지를 리턴할 때 | select MOD(123.4567, 0) from dual; select MOD(0,123.4567) from dual; select MOD(123.4567, 3) from dual; |
|
숫자함수 | ABS | 높음 | 숫자 값을 절대값으로 바꾼다 | select ABS(123.4567) from dual; select ABS(-123.4567) from dual; |
|
숫자함수 | SIGN | 보통 | 숫자가 양수:+1, 음수:-1, 0:0 | select SIGN(1234-5678) from dual; select SIGN(1234-1234) from dual; select SIGN(5678-1234) from dual; |
|
숫자함수 | FLOOR | 높음 | 실수값을 정수값으로 내림 | select FLOOR(-5678.123) from dual; select FLOOR(5678.123) from dual; |
|
숫자함수 | CEIL | 보통 | 그 수보다 가장 크거나 작은값을 리턴 | select CEIL(-5678.123) from dual; select CEIL(5678.123) from dual; |
|
숫자함수 | POWER | 낮음 | 해당 수에 대한 지수값을 표현 | select POWER(2,8) from dual; | |
숫자함수 | LOG | 낮음 | 로그값으로 변환 | select LOG(2,3.4) from dual; | |
숫자함수 | SIN | 낮음 | SIN값 | select SIN(2) from dual; | |
숫자함수 | COS | 낮음 | COS값 | select COS(2) from dual; | |
숫자함수 | TAN | 낮음 | TAN값 | select TAN(2) from dual; | |
날짜함수 | SYSDATE | 높음 | 현재 시스템 날짜를 보여줄 때 | select SYSDATE from dual; | |
날짜함수 | ADD_MONTHS | 보통 | 지정한 날짜에 몇 월을 추가한 결과의 월을 계산할 때 | select ADD_MONTHS(sysdate, 3) from dual; select ADD_MONTHS(to_date('20101225','yyyymmdd'), 3) from dual; |
|
날짜함수 | LAST_DAY | 보통 | 해당 월의 마지막 날짜를 알고자 할 때 | select LAST_DAY(sysdate) from dual; select LAST_DAY('20100301') from dual; select to_char(LAST_DAY('20100301'),'dd') from dual; |
|
날짜함수 | NEW_TIME | 낮음 | 해당 표준시로 시간을 변환할 때 | select NEW_TIME(sysdate, 'AST', 'ADT') FROM DUAL; select NEW_TIME(TO_DATE( '11-10-04 01:23:33', 'MM-DD-YY HH24:MI:SS'), 'AST', 'PST') FROM DUAL; |
AST,ADT : Atlantic Standard or Daylight Time BST,BDT : Bering Standard or Daylight Time CST,CDT : Central Standard or Daylight Time EST,EDT : Eastern Standard or Daylight Time GMT : Greenwich Mean Time HST,HDT : Alaska-Hawaii Standard or Daylight Time MST,MDT : Mountain Standard or Daylight Time NST : Newfoundland Standard Time PST,PDT : Pacific Standard or Daylight Time YST,YDT : Yukon Standard or Daylight Time |
날짜함수 | NEXT_DAY | 낮음 | 입력일자 이후 기준으로 입력요일이 돌아오는 날짜를 반환 | select NEXT_DAY(sysdate, 1 ) from dual; | 1~7 : 일요일 ~ 토요일 |
날짜함수 | MONTHS_BETWEEN | 보통 | 지정된 월 간의 월수를 알고자 할 때 | select MONTHS_BETWEEN('20000923',sysdate) from dual; | |
변환함수 | TO_CHAR | 높음 | 숫자,날짜 타입의 Data를 varchar2타입으로 변환 | select TO_CHAR(sysdate, 'YYYY-MM-DD') from dual; | |
변환함수 | TO_NUMBER | 보통 | 숫자를 포함하는 문자 String을 number 타입으로 변환 | select '[123'|| TO_NUMBER('0.3400')|| ']' from dual; select '[123'|| '0.3400'|| ']' from dual; |
|
변환함수 | TO_DATE | 높음 | 문자 String을 날짜 타입으로 변환 | select TO_DATE('2010-02-23', 'yyyy-mm-dd') from dual; |
날짜함수 요일변환
select to_char(sysdate,'d') as week1
, to_char(sysdate,'dy') as week2
, to_char(sysdate,'day') as week3
from dual;
반응형