📖 Scalar Functions
🌟 Scalar Functions
| function | Description |
|---|
UCASE | 영문을 대문자로 변환하는 함수 |
LCASE | 영문을 소문자로 변환하는 함수 |
MID | 문자열 부분을 반환하는 함수 |
LENGTH | 문자열의 길이를 반환하는 함수 |
ROUND | 지정한 자리에서 숫자를 반올림하는 함수 ( 0이 소수점 첫째 자리 ) |
NOW | 현재 날짜 및 시간을 반환하는 함수 |
FORMAT | 숫자를 천단위 콤마가 있는 형식으로 반환하는 함수 |
📖 UCASE
🌟 UCASE 문법
SELECT UCASE(string);
💭 UCASE 예제1
mysql> select ucase('This Is ucase Test.');
+
| UCASE('This Is ucase Test.') |
+
| THIS IS UCASE TEST. |
+
1 row in set (0.00 sec)
💭 UCASE 예제2
mysql> select ucase(menu) from sandwich where price > 15;
+
| ucase(menu) |
+
| LOBSTER ROLL |
| GRILLED LAUGHING BIRD SHRIMP AND FRIED PO’ BOY |
| SHAVED PRIME RIB |
+
3 rows in set (0.00 sec)
📖 LCASE
🌟 LCASE 문법
SELECT LCASE(string);
💭 LCASE 예제1
mysql> select lcase('This Is LCASE Test');
+
| lcase('This Is LCASE Test') |
+
| this is lcase test |
+
1 row in set (0.01 sec)
💭 LCASE 예제2
mysql> select lcase(menu) from sandwich where price < 5;
+
| lcase(menu) |
+
| meatball sub |
+
1 row in set (0.00 sec)
📖 MID
🌟 MID 문법
- 문자열 부분을 반환하는 함수
- string : 원본 문자열
- start : 문자열 반환 시작 위치(첫글자는 1, 마지막 글자는 -1)
- length : 반환할 문자열 길이
SELECT MID(string,start_position,length);
💭 MID 예제1
- -4번 위치(뒤에서 4번째 위치)에서 4글자 조회
mysql> select mid('This is mid test',-4,4);
+
| mid('This is mid test',-4,4) |
+
| test |
+
1 row in set (0.01 sec)
💭 MID 예제2
- 11위 카페이름 중 두번째 단어만 조회
- 6번 위치에서 4글자
mysql> select mid(cafe,6.4) from sandwich where ranking =11;
+
| mid(cafe,6.4) |
+
| Cafe |
+
1 row in set (0.00 sec)
📖 LENGTH
🌟 LENGTH 문법
SELECT LENGTH(string);
💭 LENGTH 예제1
mysql> select length('');
+
| length('') |
+
| 0 |
+
1 row in set (0.00 sec)
mysql> select length(' ');
+
| length(' ') |
+
| 1 |
+
1 row in set (0.00 sec)
mysql> select length(null);
+
| length(null) |
+
| NULL |
+
1 row in set (0.00 sec)
💭 LENGTH 예제2
- sanwich 테이블에서 top3의 주소 길이를 검색
mysql> select length(address) from sandwich where ranking <= 3;
+
| length(address) |
+
| 19 |
| 18 |
| 16 |
+
3 rows in set (0.00 sec)
📖 ROUND
🌟 ROUND 문법
- 지정한 자리에서 숫자를 반올림하는 함수 ( 0이 소수점 첫째 자리 )
- number : 반올림할 대상
- decimals :반올림할 소수점 위치 (Option)
SELECT ROUND(number, decimals_place);
💭 ROUND 예제1
- 반올림할 위치를 지정하지 않을 경우, 소수점 자리(0)에서 반올림
- 첫번째 소수점 자리 : 0 (기본)
mysql> select round(315.625);
+
| round(315.625) |
+
| 316 |
+
1 row in set (0.01 sec)
mysql> select round(315.625,1);
+
| round(315.625,1) |
+
| 315.6 |
+
1 row in set (0.00 sec)
mysql> select round(315.625,2);
+
| round(315.625,2) |
+
| 315.63 |
+
1 row in set (0.00 sec)
mysql> select round(315.625,-1);
+
| round(315.625,-1) |
+
| 320 |
+
1 row in set (0.01 sec)
mysql> select round(315.625,-2);
+
| round(315.625,-2) |
+
| 300 |
+
1 row in set (0.00 sec)
💭 ROUND 예제2
- sandwich 테이블에서 소수점 자리는 반올림해서 1달러 단위까지만 표시 ( 최하위 3개만 표시 )
mysql> select round(price)
-> from sandwich
-> order by ranking desc
-> limit 3;
+
| round(price) |
+
| 7 |
| 9 |
| 8 |
+
3 rows in set (0.00 sec)
📖 NOW
🌟 NOW 문법
SELECT NOW();
💭 NOW 예제
mysql> select now();
+
| now() |
+
| 2024-06-14 16:02:45 |
+
1 row in set (0.01 sec)
- 숫자를 천단위 콤마가 있는 형식으로 반환하는 함수
- number : 포맷을 적용할 문자 혹은 숫자
- decimals : 표시할 소수점 위치
SELECT FORMAT(number,decimal_place);
- 소수점을 표시하지 않을 경우 : 0 /반올림해서 표시
mysql> select format(12345.6789, 0);
+
| format(12345.6789, 0) |
+
| 12,346 |
+
1 row in set (0.00 sec)
- 소수점 두자리까지 표시 : 2 / 반올림해서 표시
mysql> select format(12345.6789, 2);
+
| format(12345.6789, 2) |
+
| 12,345.68 |
+
1 row in set (0.00 sec)
mysql> select format(12345.6789, 10);
+
| format(12345.6789, 10) |
+
| 12,345.6789000000 |
+
1 row in set (0.00 sec)
- oil_price 테이블에서 가격이 백원단위에서 반올림했을 때 2000원 이사인 경우 / 천원단위에 콤마를 넣어서 조회
mysql> select format(가격, 0)
-> from oil_price
-> where round(가격,-3) >= 2000;
+
| format(가격, 0) |
+
| 1,509 |
| 1,598 |
| 1,635 |
| 2,160 |
+
4 rows in set (0.00 sec