Another Brain

18일차(6월 11일)_ Function 본문

P/SQL

18일차(6월 11일)_ Function

뉸누나ㄴ나 2021. 6. 11. 19:34

## 함수(function) 구분1
1. ANSI 표준 함수
2. DBMS 전용(종속) 함수 : ORACLE 전용, MYSQL 전용
3. 사용자 정의 함수, 프로시저 : PL/SQL


## 함수(function) 구분2
1. 단일행함수
=> 1 : 1 결과 반환
=> 하나의 행에 대해서 하나의 결과 반환
=> nvl(), length(), lengthb()

2. 복수행함수(그룹함수)
=> N 연산수행 => 결과 반환
=> 여러개의 행에 대해서 연산 수행한 단일 결과 반환

## 함수(function) 구분3
-- 문자 함수
-- 숫자 함수
-- 날짜 함수
-- 변환 함수
-- 통계 함수 
-- ...

## 문자 함수
-- 길이 : length(), lengthb() : byte, 테이블설계시 컬럼길이, 영문자,숫자(1byte), 한글(2byte, 3byte)
-- 공백제거 : trim(), ltrim(), rtrim()
-- 연결 : concat()
-- 연결(결합) 연산자 : 'a' || 'b'
-- lpad(data, length, '대체문자'), rpad()
-- 부분문자열 추출 : substr(data, 시작위치, 길이) 

## 숫자 함수
-- round() : 반올림, 위치 지정 가능
-- trunc() : 버림, 위치 지정 가능
-- ceil()  : 큰정수, 위치 지정 불가
-- floor() : 작은정수, 위치 지정 불가
-- mod()   : 나머지


## 날짜 함수
-- date type
-- 현재날짜 / 시간: 
>> sysdate
>> 기본형식 : 21/06/11

-- last_day(date)
>> 21/06/30
>> 해당 date의 마지막 날짜 (매월 말일)

-- next_day(sysdate, 1)
>> 지정한 다음요일에 해당하는 날짜
>> 일요일-1 월요일-2 화요일...

-- add_months(sysdate, 6)
>> 지정한 개월수 이후 날짜

-- months_between(startDate, endDate)
>> 경과 개월수

-- 산술연산 
>> date + 14 : 14일 이후 날짜
>> date - 14 : 14일 이전 날짜


## 변환 함수
-- 숫자 / 날짜 => 문자열 변환
=> to_char(숫자, 'pattern'), to_char(date, 'pattern')
=> 123,456.78, $123, W123 , 천단위 컴마표기, 소수이하 자리수지정, 화폐통화기호 표기
=> 날짜를 원하는 형식으로 지정

-- 문자열 => 날짜타입 변환
=> to_date('날짜형식문자열', 'pattern')

-- 문자열숫자 => 숫자 변환
=> to_number()

## 날짜, 숫자 형식(format, pattern)
-- 요일 : 일요일 1, 월요일 2 ...
-- 년도 : yyyy
-- 월 : mm
-- 일 : dd

-- 시간 : hh
-- 분 : mi
-- 초 : ss

-- 숫자 : 
>> 999,999.99 => 1234.4567 => 1,234.45
>> 099,999.99 => 1234.4567 => 001,234.45
>> 09999 => 123 => 00123

-- 통화기호
>> $999,999  => 1234 => $1,234
>> $999 => 1234 => ####

>> L999,999 => 기본 설정 로케일의 화폐기호


TIP

## chm  파일 보는 법

보안 때문에 아래의 창이 뜨곤함 

이 파일을 열기 전에 항상 확인에 박스 체크하고 열기 하면 보통은 됨.

그래도 안되는 경우 

열고자 하는 파일의 속성 > 일반 탭 > 맨 아래 보안 "이 파일은 다른컴퓨터로부터 왔으며 사용자의 컴퓨터를 보호하기 위해 차단되었을 수도 있습니다. " 바로 옆 차단해제(K) 

 

## SQLplus SPOOL

spool 파일이름.sql  : 현재 위치에 파일이름의 sql파일 생성

spool 파일이름.sql app  : 파일이름 파일에 저장되어 있던 내용에 이어서 입력

help spool : spool과 연관된 명령어 조회

spool off : 파일에 입력 중지 

 

 

수업 시작 전 준비 

C:\00.practice\02.sql 로 폴더이동 

SQLplus login 

sql 파일 생성  파일 형식  : 210611.sql

 

 

Comments