TOP
class="layout-aside-left paging-number">
본문 바로가기
자격증/SQLD

SQLD 2과목 SQL 기본 및 활용 - 함수(2)

by 기록자_Recordian 2024. 1. 10.
728x90
반응형

SQLD 2과목 SQL 기본 및 활용

<목차>

 

 

24년 1월 10일 SQLD 2과목 SQL 기본 및 활용 - 함수(1)

SQLD 2과목 SQL 기본 및 활용 관계형 데이터베이스 개요 2024.01.08 - [꿀팁잡화점/SQL & 자격증] - 24년 1월 8일 2과목 SQL 기본 및 활용 - 관계형 데이터베이스 개요 SELECT 문 2024.01.09 - [꿀팁잡화점/SQL & 자

puppy-foot-it.tistory.com

내장형 함수

 

1) 단일행 함수

1-1) 문자형 함수

  • 문자 데이터를 매개 변수로 받아들여서 문자나 숫자 값의 결과를 돌려주는 함수
문자형 함수 설명
LOWER(문자열) 문자열의 알파벳 문자를 소문자로 변환 LOWER('EXPERT') > 'expert'
UPPER(문자열) 문자열의 알파벳 문자를 대문자로 변환 UPPER('expert') > 'EXPERT'
ASCII (문자) 문자나 숫자를 ASCII 코드 번호로 변환 ASCII('A') > 65
CHR/CHAR(ASCII 번호) ASCII 코드 번호를 문자나 숫자로 변환 CHR(65) / CHAR(65) > 'A'
CONCAT
(문자열1, 문자열2)
Oracle, My SQL에서 유효한 함수이며 문자열1과 문자열 2를 연결 CONCAT('RDBMS',' SQL'
> 'RDBMS SQL'
SUBSTR/SUBSTRING
(문자열, m[, n ])
문자열 중 m 위치에서 n개의 문자 길이에 해당하는 문자를 환산. n이 생략되면 마지막 문자까지. SUBSTR('EXPERT',1,3)
/SUBSTRING('EXPERT',1,3)
> EXP
LENGTH/LEN (문자열) 문자열의 개수를 숫자값으로 환산 LENGTH('EXPERT')
/LEN('EXPERT')
> 6
LTRIM
(문자열 [, 지정문자])
문자열의 첫 문자부터 확인해서 지정 문자가 나타나면 해당 문자를 제거. (지정 문자가 생략되면 공백 값이 디폴트) LRTIM('xxxYYZZxYZ','x')
> 'YYZZxYZ'
RTRIM
(문자열 [, 지정문자])
문자열의 마지막 문자부터 확인해서 지정 문자가 나타나는 동안 해당 문자를 제거 (지정 문자가 생략되면 공백 값이 디폴트) RTRIM('XXYYzzYYzz'.'z')
> 'XXYYzzXY'
TRIM
([leading| trailing[both]
지정문자 FROM 문자열
문자열에서 머리말, 꼬리말, 또는 양쪽에 있는 지정 문자를 제거

TRIM('x' FROM 'xxYYZZxYZxx')
> 'YYZZxYZ'

* LTRIM, RTRIM, TRIM: SQL Server 에서는 지정문자 사용 불가. 즉, 공백만 제거 가능

RTRIM('XXYYZZXYZ     ') > 'XXYYZZXYZ'


1-2) 숫자형 함수

숫자형 함수 설명
ABS(숫자) 숫자의 절대값 산출 ABS(-15) > 15
SIGN(숫자) 숫자가 양수인지, 음수인지, 0인지 구별 SIGN(-20) > -1
SIGN(0) > 0
SIGN(+20) > 1
MOD(숫자1, 숫자2) 숫자1을 숫자2로 나누어 나머지 값 리턴
MOD 함수는 % 연산자로도 대체 가능
MOD(7,3) / 7%3 > 1
CEIL / CEILING(숫자) 숫자보다 크거나 같은 최소 정수 리턴 CEIL(38.123) / CEILING(38.123)
> 39
CEILING(-38.123) > -38
FLOOR (숫자) 숫자보다 작거나 같은 최대 정수 리턴 FLOOR(38.123) > 38
FLOOR(-38.123) > -39
ROUND(숫자 [, m ]) 숫자를 소수점 m 자리에서 반올림하여 리턴
m이 생략되면 디폴트 값은 0
ROUND(38.5235,3) > 38.524
ROUND(38.5235,1) > 38.5
ROUND(38.5235,0) > 39
ROUND(38.5235)
> 39 (인수 0이 디퐅트)
TRUNC(숫자  [, m ]) 숫자를 소수 m 자리에서 잘라서 버림
m이 생략되면 디폴트 값은 0
SQL Server 에서 미제공
TRUNC(38.523,3) > 38.523
TRUNC(38.523,1) > 38.5
TRUNC(38.523,0) > 38
TRUNC(38.523)
> 38 (인수 0이 디폴트)
SIN, COS, TAN, ... 숫자의 삼각함수 값 리턴  
EXP(), POWER(), SQRT(),
LOG(), LN()
숫자의 지수, 거듭 제곱, 제곱근, 자연 로그 값 리턴  

1-3) 날짜형 함수

날짜형 함수 설명
SYSDATE
/ GETDATE()
현재 날짜와 시간 출력
EXTRACT('YEAR'|'MONTH'|'DAY' from d)
/ DATEPART( 'YEAR'|'MONTH'|'DAY' , d)
날짜 데이터에서 년/월/일 데이터 출력
시간/분/초도 가능
TO_NUMBER(TO_CHAR(d,'YYYY'))
/YEAR(d)
TO_NUMBER(TO_CHAR(d,'MM'))
/MONTH(d)
TO_NUMBER(TO_CHAR(d,'DD'))
/DAY(d)
날짜 데이터에서 년/월/일 데이터를 출력
TO_NUMBER 함수 제외시 문자형으로 출력

 

단일행 날짜형 데이터 연산

연산 결과 설명
날짜 + 숫자 날짜 숫자만큼의 날수를 날짜에 더함
날짜 - 숫자 날짜 숫자만큼의날수를 날짜에서 뺌
날짜1 - 날짜2 날짜수 다른 하나의 날짜에서 하나의 날짜를 빼서 일수를 구함
날짜 + 숫자/24 날짜 시간을 날짜에 더함

1-4) 변환형 함수

종류 설명
명시적 데이터 유형 변환 데이터 변환형 함수로 데이터 유형을 변환하도록 명시해주는 경우
암시적 데이터 유형 변환 데이터베이스가 자동으로 데이터 유형을 변환하여 계산하는 경우

1-5) CASE 표현

CASE 표현 함수 설명
CASE
  SIMPLE_CASE_EXPRESSION 조건
  ELSE 표현절
END
SIMPLE_CASE_EXPRESSION 조건이 맞으면 SIMPLE_CASE_EXPRESSION 조건 내의 THEN 절을 수행하고, 조건이 맞지 않으면 ELSE 절 수행
CASE
  SEARCHED_CASE_EXPRESSION 조건
  ELSE 표현절
END
SEARCHED_CASE_EXPRESSION 조건이 맞으면 SEARCHED_CASE_EXPRESSION 조건 내의 THEN 절을 수행하고, 조건이 맞지 않으면 ELSE 절 수행
DECODE(표현식, 기준값1, 값1
[, 기준값2, 값2, ..., 디폴트값)
Oracle 에서만 사용되는 함수
표현식의 값이 기준값1이면 값1 출력, 기준값2 이면 값2 출력
기준값이 없으면 디폴트 값 출력

1-6) NULL 관련 함수

일반형 함수 설명
NVL(표현식1, 표현식2)
/ ISNULL(표현식1, 표현식2)
표현식1의 결과값이 NULL 이면 표현식2의 값 출력
단, 표현식1과 표현식2의 결과 데이터 타입이 같아야 함.
NULL 관련 가장 많이 사용되는 함수
NULLIF(표현식1, 표현식2) 표현식1이 표현식2와 같으면 NULL을, 같지 않으면 표현식1 리턴
COALESCE(표현식1, 표현식2, ...) 임의의 개수 표현식에서 NULL 이 아닌 최초의 표현식을 나타냄.
모든 표현식이 NULL이라면 NULL 리턴

이전글

함수(1)

 

다음글

WHERE 절

 

728x90
반응형