Scalar function 20240913

Yoochang Sung·2024년 9월 18일

Scalar Functions

입력값을 기준으로 단일 값을 반환

UCASE

영문을 대문자로 반환
Select UCASE(문자열);

ex) Select UCASE('This is ucase test.');

ex2) 15달러가 넘는 샌드위치의 메뉴들만 대문자로 표기

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

LCASE

영문을 소문자로 반환

ex) Select LCASE('THIS IS LCASE TEST.');

MID

문자열 부분을 반환

Select mid('문자열');
시작 위치에서 어느 길이만큼 반환할 것인지 표기

ex) select mid('This is mid test.', 1, 4);

첫번째 문자열에서 그로부터 네 번째 문자열까지

공백도 포함한다

ex2) select mid('This is mid test.', 6, 5);

공백도 포함한다

ex3) select mid('This is mid test.', -4, 4);

-는 뒤에서부터!

ex4) 11위 카페 이름 중 두 번째 단어만 조회

select cafe from sandwitch where ranking = 11; 해보면 Lula cafe가 나옴

select mid(cafe, 6, 4) from sandwitch where ranking = 11;

LENGTH

문자열의 길이를 반환

select length("This is length test.');

공백도 1이다!

NULL 값이 있을 때 NULL이라 표기

ex1) sandwitch 테이블에서 top3의 메뉴 길이를 검색.
select menu from sandwitch where ranking <= 3;

select length(menu), menu from sandwitch where ranking <= 3;

ROUND

지정한 자리에서 숫자를 반올림 (0이 소수점 첫 째 자리)
0이 default

select round(3.12);

select round(123.45678, 3);

지정한 숫자까지 표기.(그 뒤에서 반올림)

ex) 샌드위치 테이블서 소수점 자리는 반올림해서 1달러 단위까지만 표시(최하위 3개만)

Select ranking, price, round(price) from sanwitch order by ranking desc limit 3;

NOW

현재 날짜 및 시간을 반환

select now();

FORMAT

숫자를 천단위 반점이 있는 형식으로 반환

Select format(123456789);

반올림할 소수점 자리도 표시해줘야 한다

ex) oil_price 테이블서 가격이 백원단위에서 반올림했을 때 2000원 이상인 경우 천원 단위에서 반점 넣어 조회

Select format(가격, 0) from oil_price where round(가격, -3) >= 2000;

profile
Yoochang Sung

0개의 댓글