Scalar Functions

정한별·2024년 6월 15일
0

Scalar Functions

입력값을 기준으로 단일 값을 반환하는 함수

📌 명령 프롬프트로 접속

mysql -h 엔드포인트 -P 3306 -u admin -p zerobase

📁 UCASE

영문을 대문자로 반환하는 함수

select ('This is ucase test.');

select ucase('This is ucase test.');

🗒️ 예제

$15 가 넘는 메뉴를 대문자로 조회

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

📁 LCASE

영문을 소문자로 변환하는 함수

select lcase('THIS IS LCASE TEST.');

🗒️ 예제

$5 가 안되는 메뉴를 소문자로 조회

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

📁 MID

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

 SELECT MID(string, start_position, lenth);

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

🗒️ 예제1

1번 위치에서 4글자를 조회

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

🗒️ 예제2

-8번 위치 (뒤에서 8번째 위치) 에서 3글자를 조회

 select mid('This is mid test', -8, 3);

🗒️ 예제3

11위 카페이름 중 두번째 단어만 조회 - -4번 위치 (뒤에서 4번째) 에서 4글자

select mid(cafe, -4, 4) from sandwich where ranking=11;

📁 LENGTH

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

🗒️ 예제1

sandwich 테이블에서 Top 3의 주소 길이를 검색

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

📁 ROUND

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

SELECT ROUND (number, decimals_place);

number : 반올림할 대상
decimals : 반올림할 소수점 위치 (Option)

🗒️ 예제2

소수점 첫번째 위치는 0

 select ranking, price, round(price) from sandwich
    -> order by ranking desc
    -> limit 3;
 select round(315.625,0);

🗒️ 예제

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

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

📁 NOW

현재 날짜 및 시간을 반환하는 함수

 select now();

📁 FORMAT

숫자를 천단위 콤마가 있는 형식으로 반환하는 함수

  SELECT FORMAT(number, decimal_place);

number : 포맷을 적용할 문자 혹은 숫자
decimals : 표시할 소수점 위치

🗒️ 예제1

소수점을 표시하지 않을 경우 0

  select format(12345.6789, 0);

🗒️ 예제2

oil_price 테이블에서 가격이 십원단위에서 반올림 했을 때 2000원 이상인 경우, 천단위에 콤마를 넣어서 조회하세요.

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

0개의 댓글

관련 채용 정보