1. Scalar Functions

Scalar Functions는 입력값을 기준으로 단일 값을 반환하는 함수이다.

FunctionDescription
UCASE영문을 대문자로 변환하는 함수
LCASE영문을 소문자로 변환하는 함수
MID문자열 부분을 반환하는 함수
LENGTH문자열의 길이를 반환하는 함수
ROUND지정한 자리에서 숫자를 반올림하는 함수 (0이 소수점 첫째 자리)
NOW현재 날짜 및 시간을 반환하는 함수
FORMAT숫자를 천단위 콤마(,)가 있는 형식으로 반환하는 함수

2. UCASE

UCASE는 uppercase로 영문을 대문자로 변환하는 함수이다.

UCASE 문법

SELECT UCASE(string);

Example 1: 다음 문장(Hello, this Is Irene.)를 모두 대문자로 조회하기

select ucase('Hello, this Is Irene.');

Example 2: sandwith 테이블에서 $15가 넘는 메뉴를 대문자로 조회하기

select ucase(menu) from sandwith
where price > 15;

3. LCASE

LCASE는 lowercase로 영문을 소문자로 변환하는 함수이다.

LCASE 문법

SELECT LCASE(string);

Example 1: 다음 문장(Hello, This is IRENE.)을 모두 소문자로 조회하기

select lcase('Hello, This is IRENE.');

Example 2: sandwith 테이블에서 $5가 안되는 메뉴를 소문자로 조회하기

select lcase(menu) from sandwith
where price < 5;

4. MID

MID문자열 부분을 반환하는 함수다.

MID 문법

SELECT MID(string, start_position, length);
# string: 원본 문자열
# start: 문자열 반환 시작 위치 (첫글자는 1, 마지막 글자는 -1)
# length: 반환할 문자열 길이

Example 1: 다음 문장(Hello, this is Irene.)을 1번 위치에서 4글자를 조회하기

select mid('Hello, this is Irene.', 1, 4);

Example 2: 다음 문장(Hello, this is Irene.)을 6번 위치에서 5글자를 조회햐기

select mid('Hello, this is Irene.', 6, 5);
#공백도 문자로 인식하기에 공백도 위치에 포함된다.

Example 3: 다음 문장(Hello, this is Irene.)을 -4번 위치(뒤에서 4번째 위치)에서 4글자를 조회하기

select mid('Hello, this is Irene.', -4, 4);

Example 4: 다음 문장(Hello, this is Irene.)을 -8번 위치에서 3글자를 조회하기

select mid('Hello, this is Irene.', -8, 3);

Example 5: sandwich 테이블에서 11위 카페 이름 중 두번째 단어만 조회하기

1) sandwich 테이블에서 11위 카페 이름 조회하기

select cafe from sandwich
where ranking = 11;

2) sandwich 테이블에서 11위 카페 이름 중 두번째 단어만 조회하기

select mid(cafe, 6, 4) from sandwich
where ranking = 11;
#6번 위치에서 4글자 조회하는 결과값

또는

select mid(cafe, -4, 4) from sandwich
where ranking = 11;
#-4번 위치에서 4글자 조회하는 결과값

5. LENGTH

LENGTH문자열의 길이를 반환하는 함수이다.

LENGTH 문법

SELECT LENGTH(string);

Example 1: 다음 문장(Hello, this is Irene.)의 길이를 조회하기

select length('Hello, this is Irene.');

Example 2: 문자가 없는 경우의 길이를 조회하기

select length('');
# 문자가 없는 경우 길이가 0

Example 3: 공백의 경우의 길이를 조회하기

select length(' ');
# 공백의 경우 문자로 인식하므로 길이가 1

Example 4: NULL의 경우의 길이를 조회하기

select length(null);
# NULL의 경우 존재하지 않기 때문에 길이가 없으르모 NULL

Example 5: sandwich 테이블에서 Top 3의 주소 길이을 검색하기

select ranking, address, length(address)
from sandwich
where ranking <= 3;

6. ROUND

ROUND지정한 자리에서 숫자를 반올림하는 함수다.

ROUND 문법

SELECT ROUND(number, decimals_place);
#number: 반올림할 대상
#decimals: 반올림할 소수점 위치 (option)

Example 1: 314.159을 반올림하기

select round(314.159);
/*반올림할 위치(decimals_place)를 지정하지 않을 경우
기본값인 소수점 자리 (0)에서 반올림*/

Example 2: 314.159을 첫번째 소수점 위치에서 반올림하기

select round(314.159, 0);
#첫번째 소수점 위치는 0

Example 3: 314.159을 두번째 소수점 위치에서 반올림하기

select round(314.159, 1);
#두번째 소수점 위치는 1

Example 4: 314.159을 세번째 소수점 위치에서 반올림하기

select round(314.159, 2);
#세번째 소수점 위치는 2

Example 5: 314.159을 일단위 위치에서 반올림하기

select round(314.159, -1);
#일단위 위치는 -1

Example 6: 314.159을 십단위 위치에서 반올림하기

select round(314.159, -2);
#십단위 위치는 -2

Example 7: sandwich 테이블에서 소수점 자리는 반올림해서 $1 단위까지만 표시하기 (최하위 3개만 표시)

select ranking, price, round(price)
from sandwich
order by ranking desc
limit 3;

7. NOW

NOW는 현재 날짜 및 시간을 반환하는 함수이다.

NOW 문법

SELECT NOW();

Example 1:

select now();

8. FORMAT

FORMAT숫자를 천단위 콤마(,)가 있는 형식으로 변환하는 함수이다.

FORMAT 문법

SELECT FORMAT(number, decimals_place);
# number: format을 적용할 문자 혹은 숫자
# decimals: 표시할 소수점 위치

Example 1:

select format(12345.6789, 0);
# 소수점을 표시하지 않을 경우 0

Example 2:

select format(12345.6789, 2);
# 소수점 두자리까지 표시할 경우 2

Example 3:

select format(12345.6789, 10);
# 소수점 열자리까지 표시할 경우 10

profile
거북선통통통통

0개의 댓글