1. 숫자함수


CEIL 소수점 무조건 올리기 (결과값은 정수)

ROUND 반올림

FLOOR 소수점 무조건 내리기 (결과값은 정수)

MOD 나머지 구하기

TRUNC 자릿수만큼 무조건 자르기

 

사용예제)

CEIL(1.1) = 2

ROUND(1234.567, 2) = 1234.57

ROUND(숫자, 자릿수)

숫자를 소수점 자릿수 만큼 반올림

FLOOR(1.9) = 1

MOD(10, 3) = 1

MOD(숫자, 나눌숫자)

숫자나눌숫자로 나눠서 얻는 나머지

TRUNC(1234.567, 1) = 1234.5

TRUNC(숫자, 자릿수)

숫자를 소수점 자릿수 이하로 다 짜르기

 

 

 

 

2. 문자열함수


SELECT 'ABC' "DEFAULT",

           upper('abc') s1,

           lower('ABC') s2,

           INITCAP('abc') s3,

           length('abc') s4

FROM DUAL;

 

UPPER(문자열): 문자열 대문자로

LOWER(문자열): 문자열 소문자로

INITCAP(문자열): 문자열의 첫번째 글자만 대문자로

LENGTH(문자열): 문자열의 길이


SELECT SUBSTR('ABC', 1, 2)

FROM DUAL:

ABC의 첫번째부터 2 개의 문자열 출력

▶결과값: AB

주의!! 문자열의 위치 카운트는 1부터 시작이다!

 

SUBSTR(문자열, 몇번째부터, 몇개): 문자열을 몇번째부터 몇개 추출


SELECT INSTR('ABC', 'B')

FROM DUAL;

ABC B가 몇번째인지 출력

▶결과값: 2

 

INSTR(문자열, 위치를 찾고 싶은 문자): 문자열에서 위치를 찾고 싶은 문자가 몇번째에 있는지


SELECT INSTR('ABCB', 'B', 3, 1 )

FROM DUAL;

▶결과값: 4

 

INSTR(문자열, 위치를 찾고 싶은 문자, 몇번째부터, 몇번째 나오는): 문자열에서 위치를 찾고싶은 문자몇번째부터 몇번째 나오는지

 

선생님의 표현에 의하면 아래와 같다.

INSRT(어디에서, 뭘찾아주세요, 어디서부터, 몇번째)


INSTR(문자열, 위치를 찾고싶은 문자, -1)

▶뒤에서부터 위치 찾기


SELECT RTRIM('ABC ') || '#'

FROM DUAL;

SELECT '#' || LTRIM(' ABC')

FROM DUAL;

SELECT '#' || TRIM(' ABC ')

FROM DUAL;

결과값: ABC# // #ABC // #ABC

▶문자열의 좌, 우 공백제거

 

RTRIM(문자열): 우측 공백제거

LTRIM(문자열): 좌측 공백제거

TRIM(문자열): 양측 공백제거


SELECT LPAD('ABC', 5, '@')

FROM DUAL;

SELECT RPAD('ABC', 5, '@')

FROM DUAL;

결과값: @@ABC // ABC@@

▶ 문자열의 좌/우측에 총합자리수가 될때까지 추가할문자를 추가

 

LPAD(문자열, 자릿수, 추가할 문자): 문자열에서 문자열 포함 총 자릿수가 될 때까지 문자열 좌측에 추가할 문자를 넣는다

RPAD는 우측

 

 

 

 

4. 날짜함수


SELECT SYSDATE 오늘, NEXT_DAY(SYSDATE, 1) 이번일요일, LAST_DAY(SYSDATE) 이달마지막

FROM DUAL;

 

NEXT_DAY(SYSDATE, 1)

1: 일요일

2: 월요일

3: 화요일

4: 수요일

5: 목요일

6: 금요일

7: 토요일

 

숫자 대신에,

NEXT_DAY(SYSDATE, 일요일)

이렇게 써도 된다.

 

NEXT_DAY(날짜, 1~7의 숫자 혹은 '0요일'): 날짜 기준으로 다가 오는 요일이 며칠인지

LAST_DAY(날짜): 날짜 기준으로 해당 날짜에 월의 마지막 날이 며칠인지


SELECT ADD_MONTHS(SYSDATE, 1) 

FROM DUAL;

 

ADD_MONTHS(날짜, 몇 개월): 날짜기준으로 몇개월 뒤가 며칠인지


SELECT MONTHS_BETWEEN('2020-03-31', SYSDATE) 

FROM DUAL;

 

MONTHS_BETWEEN(날짜1, 날짜2): 날짜1에서 날짜2가 몇 개월 남았는지 (날짜1-날짜2 가 결과값이다)

 

 

 

 

5. Casting (문자를 날짜로)


to_date(문자열)

▶문자열을 날짜형식으로 바꿔준다

 

사용예제)

2020-01-01부터 100일 뒤의 날을 구하기

SELECT TO_DATE('2020-01-01')+100 

+ Recent posts