SQL 16 - 스카라 함수

민정윤·2024년 10월 11일
0

Scalar Function

✍️ 스카라 함수 : 입력값을 기준으로 단일 값을 반환하는 함수

UCASE / LCASE

ucase : 영문 대문자로 반환
lcase : 영문 대문자로 반환

기본구조

SELECT UCASE / LCASE('string');
예제)

LCASE

  • $15가 넘는 메뉴를 대문자로 조회
SELECT UCASE(menu)
FROM sandwich
WHERE price > 15;

UCASE

  • $5가 안 되는 메뉴를 소문자로 조회
SELECT LCASE(menu)
FROM sandwich
WHERE price < 5;

MID / LENGTH

mid : 문자열 부분을 반환

기본구조

SELECT MID('string', start_position, length);

# string : 문자열
# start : 문자열 반환 시작 위치 (1 첫글자, -1 마지막 글자)
# length : 반환할 문자열 길이
예제)
SELECT MID('This is mid test', 1, 4);

SELECT MID('This is mid test', -4, 4);
  • 11위 카페이름 중 두 번째 단어만 조회 (6위치에서 4글자)
SELECT MID(cafe, 6, 4)
FROM sandwich
WHERE ranking = 11;

length : 문장의 길이를 반환
기본구조

SELECT LENGTH('string');
예제)
SELECT LENGTH('This is len test');

#문자가 없는 경우 0리턴 
SELECT LENGTH('');

# 공백은 count 함
SELECT LENGTH(' ');

# NULL은 존재 안 해서  NULL 리턴
SELECT LENGTH(NULL);
  • top3 식당의 주소 길이 검색
SELECT LENGTH(address), address, ranking
FROM sandwich
WHERE ranking <= 3;

ROUND

ROUND : 지정한 자리에서 숫자 반올림

기본구조

SELECT ROUND(number, deciamals_place);

# number: 반올림할 대상
# deciamals_place : 반올림할 소수점 위치
예제)
# 반올림 위치 지정하지 않을 경우, 소수점 자리 (0)에서 반올림 해줌
SELECT ROUND(315.625);
> 316

# 반올림 위치 0으로 지정해도 소수점 첫번째 자리(0)에서 반올림 해줌
SELECT ROUND(315.625, 0);
> 316

# 정수 단위에서 반올림할 경우 위치는 -1
SELECT ROUND(315.625, -1);
> 320

SELECT ROUND(315.625, -2);
> 300

NOW

NOW : 현재 날짜 및 시간 반환

기본구조

SELECT NOW();

FORMAT

FORMAT : 숫자를 천단위 콤마가 있는 형식으로 반올림해서 반환

기본구조

SELECT FORMAT(number, deciamals_place);

# number: 포맷 적용 대상(문자 or 숫자)
# deciamals_place : 표시할 소수점 위치
예제)

# 소수점 표시하지 않겠다
SELECT FORMAT(12345.6789, 2);
>12,346

# 소수점 2자리까지 표시
SELECT FORMAT(12345.6789, 0);
>12,345.68

0개의 댓글