Notice
Recent Posts
Recent Comments
Link
09-14 05:05
«   2025/09   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Archives
Today
Total
관리 메뉴

study-project

오라클 - 단일행 함수 (2) 본문

DB/ORACLE

오라클 - 단일행 함수 (2)

귤식빵 2020. 8. 30. 13:52

오라클 단일행 함수 중에 문자조작함수랑 문자함수 외에 

숫자함수, 날짜함수 일반함수 변환함수 등이 있다. 

숫자 함수

round - 지정된 소수점 자릿수로 값을 반올림한다.

trunc - 지정된 수수점 자릿수로 값을 버림한다.

moc - 나눈 나머지를 반환한다. 

여기서  dual 테이블은 sys의 소유이고 함수 및 계산 결과를 볼 때 사용하는 테이블이다. 

from 절을 꼭 적어야하는데 적을게 없을때 사용한다. 

날짜 함수.

현재 데이터베이스 서버 날짜 및 시간을 반환하는 함수다. 

날짜 함수는 산술 연산이 가능하다. 

날짜 조작 함수는  months_between, add_months, next_day, last_day, round, trunc 등이 있다. 

months_between - 두 날짜 간의 월수 

add_months - 날짜에 월 추가 

next_day - 지정된 날짜의 다음날

last_day  - dnjfdml akwlakr skf

 round - 날짜 반올림

변환함수

변환함수는 2종류의 to_char(date에서 문자로 바꿀때 , 숫자에서 문자로 바꿀때)  to_number, to_date 가 있다. 

to_char 함수 (날짜를 -> 문자로)

to_char (date,'format_model') 이런 형식으로 사용한다. 

date 와 뒤에 원하는 형식을 작성하면 오라클이 변환해준다는것을 알 수 있다. 

날짜 형식요소 

yyyy - 숫자로된 전체연도

year - 영어 철자로 표기된 연도

mm - 월의 2자리 값

month -전체 월의 이름

mon - 월의 3자리 약어

dy - 3문자로 된 요일 약어

day - 요일 전체 이름 

dd -  숫자 형식의 월간 일

이러한 형식들은 대소문자를 다 구별한다. 

이런것도 가능하다.

시간요소는 날짜에서 시간 부분의 형식을 지정한다. 

hh24:mi:ss am       15:45:33 pm  이런식으로 나온다. 

문자열은 큰따옴표로 추가할 수 있다. 

dd "of" month     12 of october  이런식으로 나온다. 

to_char 함수 ( 숫자를 -> 문자로 )

to_char(number,'format_model')

숫자 형식 요소 

9  --  숫자를 나타냄

0  -- 0 이 표시되도록 강제 적용

$ --  부동 달러기호 배치 

L --  부동 로컬 통화 기호 사용

. --  소수점 출력

,  -- 천단위 표시자로 쉼표 출력 

 

일반 함수 

nvl을 제일 많이 사용한다.

nvl (data1,data2) 

null 값을 실제값으로 변환해 준다. data1 에 null 체크를 해서 null 일 경우는 data2로 반환해준다

사용할 수 있는 유형은 날짜 숫자 문자 이다.  괄호안에 오는 데이터 타입이 서로 같아야 한다. 

이렇게 null 값인경우 그냥 계산 자체가 되지않는데 null을 0으로 바꿔주면

정확한 값이 보여지기 때문에 보기에  좋다 

 

nvl 외에도  일반함수는

nvl2(data1,data2,data3) ,  nullif(data1,data2)  ,  coalesce(data1,data2 .. . . . datan)  등이 있다. 

'DB > ORACLE' 카테고리의 다른 글

오라클 테이블 join (2)  (0) 2020.09.05
오라클 테이블 join (1)  (0) 2020.09.01
오라클 group by 절과 having 절  (0) 2020.08.30
오라클 sql 활용문제  (0) 2020.08.25
오라클 - 단일행 함수 (1)  (0) 2020.08.21
Comments