이번 포스팅에서는 MySQL 스칼라 함수에 대해 알아보도록 하겠습니다.
(제로베이스 SQL 파트 강의에서 사용한 예제 테이블을 사용했음을 밝힙니다.)
UCASE, LCASE
SELECT UCASE(menu)
FROM sandwich
WHERE price > 15;
UCASE는 영문을 대문자로 반환하는 함수입니다.
위 코드는 15달러를 초과하는 샌드위치 메뉴명을 대문자로 변환해서 가져옵니다.
SELECT LCASE(menu) FROM sandwich WHERE price < 5;
LCASE는 영문을 소문자로 리턴하는 함수입니다.
MID
SELECT MID(<원본문자열>, <시작점>, <길이>)
MID는 부분문자열을 리턴합니다.
시작점 매개변수와 관련해서 문자열의 첫 글자는 1, 마지막 글자는 -1로 나타낼 수 있습니다.
SELECT MID(cafe, -4, 4) FROM sandwich WHERE id=11;
위 코드는 id가 11인 샌드위치 가게명의 뒤에서 4번째 문자부터 길이가 4인 부분문자열을 가져옵니다.
LENGTH
SELECT address, LENGTH(address) FROM sandwich WHERE id<=3;
LENGTH는 문자열의 길이를 리턴하는 함수입니다.
위 코드는 조건을 만족하는 가게의 주소와 주소 문자열의 길이를 가져옵니다.
ROUND
SELECT ROUND(<반올림대상>, <소수점위치>)
ROUND는 지정한 소수점 자리에서 숫자를 반올림하는 함수입니다.
일의 자리는 -1, 소수점 첫 번째 자리는 0으로 표시합니다.
SELECT id, price, ROUND(price) FROM sandwich ORDER BY id DESC LIMIT 3;
위 예제코드는 샌드위치 가격을 소수점 첫 번째 자리에서 반올림합니다.
NOW
SELECT NOW();
NOW는 현재 날짜와 시간을 리턴합니다.
FORMAT
SELECT FORMAT(<문자열>, <소수점위치>);
숫자에 천 단위로 콤마를 찍어서 리턴하는 함수입니다.
소수점을 표시하지 않겠다는 의미로 소수점 위치 매개변수에 인수로 0을 전달합니다.
소수점 두 자리까지만 표시할 경우에는 소수점 위치 매개변수에 인수로 2를 전달합니다.
ROUND 함수와 사용법이 동일합니다.
다만 FORMAT 함수는 문자열을, ROUND 함수는 숫자를 반환한다는 차이가 있습니다.
'데이터베이스・SQL' 카테고리의 다른 글
[MySQL]SQL JOIN 총정리 (0) | 2023.07.26 |
---|---|
[MySQL]SQL UNION 명령어 알아보기 (0) | 2023.07.26 |
[MySQL]SQL 연산자 정리(비교/논리연산자) (0) | 2023.07.25 |
[MySQL]DB 테이블 데이터 다루기(INSERT/SELECT/UPDATE/DELETE) (0) | 2023.07.25 |
[MySQL]기본키와 외래키 알아보기 (0) | 2023.07.25 |