Paul's Grit

[SQL] SQL Scalar Functions 본문

Data Analysis/SQL

[SQL] SQL Scalar Functions

Paul-K 2023. 9. 4. 15:43

Scalar Functions

  • UCAE / LCASE
  • MID
  • LENGTH
  • ROUND
  • NOW
  • FORMAT

1. UCAE / LCASE

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

SELECT UCASE('This Is ucase Test.');

SELECT UCASE(menu) FROM sandwich WHERE price > 15;

 

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

SELECT LCASE(menu) FROM sandwich WHERE price < 5;

 

2. MID

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

  • 시작 인덱스가 1부터 시작한다

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

SELECT MID('This is mid test', 1, 4);

 

6번 위치에서 5글자를 조회

SELECT MID('This is mid test', 6, 5);

 

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

SELECT MID('This is mid test', -4, 4);

 

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

SELECT MID(cafe, -4, 4) FROM sandwich WHERE ranking = 11;

 

3. LENGTH

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

SELECT LENGTH('This is len test');

 

문자가 없는 경우 길이도 0

SELECT LENGTH('');

 

NULL 의 경우 길이가 없으므로 NULL

SELECT LENGTH(NULL);

 

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

SELECT LENGTH(address), address FROM sandwich WHERE ranking <= 3;

 

4. ROUND

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

  • Default : 소수점 자리 (0) 에서 반올림
SELECT ROUND(315.625, 0);

SELECT ROUND(315.625, 1);

 

일의 자리부터는 -1부터

SELECT ROUND(315.625, -1);

SELECT ROUND(315.625, -2);

 

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

SELECT ranking, price, ROUND(price)
FROM sandwich
ORDER BY ranking DESC
LIMIT 3;

 

5. NOW

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

SELECT NOW();

 

6. FORMAT

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

 

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

SELECT FORMAT(12345.6789, 0);

소수점 두자리까지 표시할 경우 2

SELECT FORMAT(12345.6789, 2);

 

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