[Scalar Functions]
- UCASE 영문을 대문자로 변환하는 함수
- LCASE 영문을 소문자로 변환하는 함수
- MID 문자열 부분을 반환하는 함수
- LENGTH 문자열의 길이를 반환하는 함수
- ROUND 지정한 자리에서 숫자를 반올림하는 함수 (0이 소수점 첫째 자리)
- NOW 현재 날짜 및 시간을 반환하는 함수
- FORMAT 숫자를 천단위 콤마가 있는 형식으로 반환하는 함수
[UCASE]
SELECT ucase(menu) FROM sandwich WHERE price > 15;
[LCASE]
SELECT LCASE(menu) FROM sandwich WHERE price>15;
[MID]
- MID(string, start_position, length);
string : 원본 문자열
start_position : 문자열 시작 위치, ( 첫 글자는 1, 마지막 글자는 -1 )
length : 반환할 문자열 길이
SELECT MID('This is mid test', 1, 9);
SELECT MID('This is mid test', -6, 5);
[LENGTH]
- .NULL의 경우에는 길이가 있는것도 아니고 아예 존재하지 않는거기 때문에 NULL을 리턴한다.
SELECT LENGTH(' ');
SELECT LENGTH(NULL);
SELECT length(address), address FROM sandwich LIMIT 2;
[ROUND]
- ROUND( number, decimals_place );
- number : 반올림할 대상
- deciamls_place : 반올림할 소숫점 위치 (option, default는 소숫점 첫번째 자리에서 반올림)
SELECT round(234.234551, 2);
SELECT round(234.234551, -2);
SELECT round(234.234551, -5);
[NOW]
select now();
[FORMAT]
- FORMAT( number, deciamal_place );
- number : 포맷을 적용할 문자 혹은 숫자
- deciamal_place : 표시할 소숫점 위치 ( round )
2번째 인수를 적지 않으면 오류가 뜬다. ( ROUND에서는 오류 없이 디폴트 값이 0 이었다.)
SELECT format(1234.6789);
SELECT format(1234.6789,3);
라운드에서와 달리 2번째 인수에 마이너스 값 숫자 넣으면 그냥 0을 넣은것과 결과가 같다.
SELECT format(1234.6789, -1);
'sql' 카테고리의 다른 글
[mysql] SQL Subquery (0) | 2022.07.07 |
---|---|
[mysql] GROUP BY, HAVING (0) | 2022.07.06 |
[mysql] 집계 함수 (기초) (0) | 2022.07.05 |
[sql] PRIMARY KEY, FOREGIN KEY (0) | 2022.07.05 |
[mysql] LIMIT 을 쓸 때는 ORDER BY 와 함께 쓰자. (0) | 2022.07.05 |