문자 함수
함수명 | 실행 | 설명 |
---|---|---|
CHR | SQL> SELECT CHR(75) FROM DUAL; | 숫자 를 문자값으로 변환 |
CONCAT | SQL> SELECT CONCAT(ENAME, ' IS A') FROM EMP; | 2개의 문자값을 결합 |
INITCAP | SQL> SELECT INITCAP( 'THE SOAP') FROM DUAL; | 첫번째 단어만 대문자 나머지는 소문자로 변환 |
LOWER | SQL> SELECT LOWER( 'THE SOAP') FROM DUAL; | 모든 문자를 소문자로 변환 |
LPAD | SQL> SELECT LPAD( 'GRAYPASTEL', 20, '*') FROM DUAL; | 정의된 문장(GRAYPASTEL)의 왼쪽 나머지 공간(20 - GRAYPASTEL의 글자수)을 지정한 문자('*')로 채움 |
RPAD | SQL> SELECT RPAD( 'GRAYPASTEL', 20, '*') FROM DUAL; | 정의된 문장(GRAYPASTEL)의 오른쪽 나머지 공간(20 - GRAYPASTEL의 글자수)을 지정한 문자('*')로 채움 |
LTRIM | SQL> SELECT LTRIM ('xyxXxyLAT WORD' , 'xy') FROM DUAL; | 정의된 문장의 왼쪽부터 지정된 단어가 발견되면 제거한다. |
RTRIM | SQL> SELECT RTRIM ('xyxXxyLAT WORD' , 'xy') FROM DUAL; | 정의된 문장의 오른쪽부터 지정된 단어가 발견되면 제거한다. |
REPLACE | SQL> SELECT REPLACE('JACK AND JUE', 'J', 'BL') FROM DUAL; | 정의된 문장에서 해당 문자('J')가 발견되면 지정된 문자('BL')로 변경 |
SUBSTR | SQL> SELECT SUBSTR( 'ABCDEFG', 3, 2) FROM DUAL; | 정의된 문장의 지정된 위치(3)부터 해당 길이 만큼(2) 추출 |
SUBSTR | SQL> SELECT SUBSTR( 'ABCDEFG', -3, 2) FROM DUAL; | 정의된 문장의 지정된 위치(-3)부터 해당 길이 만큼(2) 추출 |
ASCII | SQL> SELECT ASCII('Q') FROM DUAL; | 문자 'Q'를 ASCII 코드로 변환 |
INSTR | SQL> SELECT INSTR( 'CORPORATE FLOOR', 'OR', 3, 2) FROM DUAL; | 정의된 문장에서 지정된 위치에 존재하는 문자의 위치값을 찾아준다. |
LENGTH | SQL> SELECT LENGTH('CAN') FROM DUAL; | 정의된 단어의 길이를 반환한다. |
LENGTHB | SQL> SELECT LENGTHB('가나다라마바사') FROM DUAL; | 정의된 문장의 길이를 반환한다. |
GREATEST | SQL> SELECT GREATEST('HARRY', 'HARIOT', 'HALORD') FROM DUAL; | 정의된 단어중 가장 높은 값을 찾아 준다 |
LEAST | SQL> SELECT LEAST('HARRY', 'HARIOT', 'HALORD') FROM DUAL; | 정의된 단어중 가장 낮은 값을 찾아 준다. |
NVL | SQL> SELECT NVL(COMM,0) FROM EMP; | 정의한 컬럼이 NULL이면 지정한 값(0)으로 대체한다. |
NVL2 | SQL> SELECT NVL2(COMM,5,0) FROM EMP; | 해당 컬럼이 NULL이면 세번째(0)값을,NULL이 아니면 두번째 값(5)를 반 |
숫자 함수
ABS | SQL> SELECT ABS(-15) FROM DUAL; | 정의된 값을 절대값으로 변환한다. |
---|---|---|
CEIL | SQL> SELECT CEIL(15.7) FROM DUAL; | 정의된 값을 올림값으로 변환한다. |
FLOOR | SQL> SELECT FLOOR(15.7) FROM DUAL; | 정의된 값을 내립값으로 변환한다. |
COS | SQL> SELECT COS(180*3.14/180) FROM DUAL; | 정의된 산술식의 COSINE값을 반환한다. |
EXP | SQL> SELECT EXP(4) FROM DUAL; | 정의된 숫자의 지수승값을 계산한다. |
LOG | SQL> SELECT LOG(10,100) FROM DUAL; | 뒤에 정의된 숫자가 앞에 정의된 숫자의 몇배인지를 계산한다. |
MOD | SQL> SELECT MOD(11,4) FROM DUAL; | 정의된 수로 앞에 정의된 수를 나눈 나머지 값을 반환한다. |
POWER | SQL> SELECT POWER(3,2) FROM DUAL; | 앞에 정의된 수를 뒤에 정의 한 수 만큼 곱한다. |
ROUND | SQL> SELECT ROUND(15.193,1) FROM DUAL; | 정의된 수를 지정한 자리 수에서 반올림한다. |
ROUND | SQL> SELECT ROUND(15.193,-1) FROM DUAL; | 정의된 수를 지정한 자리 수에서 반올림한다. |
SIGN | SQL> SELECT SIGN(-15) FROM DUAL; | 정의된 값이 음수이면 -1. 0이면0, 양수이면 1을 리턴한다. |
TRUNC | SQL> SELECT TRUNC(15.193,1) FROM DUAL; | 정의된 수를 지정한 자리 수에서 절삭한다. |
날짜 함수
SYSDATE | SQL> SELECT SYSDATE FROM DUAL; | 현재 시스템 날짜를 제공한다. |
---|---|---|
ADD_MONTHS | SQL> SELECT HIREDATE, ADD_MONTHS(HIREDATE,1) FROM EMP WHERE EMPNO=7782; | 해당 날짜에 지정한 달 수 만큼 더한다. |
LAST_DAY | SQL> SELECT HIREDATE, LAST_DAY(HIREDATE) FROM EMP WHERE EMPNO=7782; | 정의된 날짜의 달에서 마지막 일이 몇 일인지 알 수 있다. |
NEW_TIME | SQL> SELECT HIREDATE, NEW_TIME(HIREDATE, 'GMT', 'PDT') FROM EMP WHERE EMPNO=7782 | 정의된 날짜의 세계표준시 정보를 알수 있다. |
MONTH_BETWEEN | SQL> SELECT HIREDATE, MONTHS_BETWEEN(SYSDATE, HIREDATE) FROM EMP WHERE EMPNO=7782; | 정의된 두 날짜간의 차이 값을 알 수 있다. |
TO_DATE | SQL> TO_DATE(’2020-09-14’, ‘yyyy-mm-dd’) | 문자형(CHAR) 데이터를 DATE형으로 변환 |
TO_CHAR | SQL> TO_CHAR(TO_DATE(’2020-09-14’, ‘yyyy-mm-dd’), ‘yyyymmdd’) | DATE형 데이터를 문자형(CHAR)으로 변환 |
DATETIME 의 주요 인자
변환 함수
ASCIISTR, CONVERT, TO_BINARY_DOUBLE, TO_BINARY_FLOAT, TO_CHAR(CHAR), TO_CHAR(DATE), TO_CHAR(NUMBER), TO_DATE, TO_NUMBER
인코딩과 디코딩
DECODE, DUMP, VSIZE
NULL 관련 함수
COALESCE, NULLIF, NVL