01. 숫자 함수
ABS(숫자): 절대값
SELECT ABS(-120) ;
결과: 120
CEILING(숫자, 자리수): 올림
FLOOR(숫자, 자리수): 버림
ROUND(숫자, 자리수): 반올림
- 자리수가 양수일 때, 소수점 O번째를 의미
- 자리수가 음수일 때, 1의 자리 / 10의 자리 / ... 를 의미
SELECT CEILING(1230, -2) ;
결과: 1300
- 자리수 '-2' 는 십의자리를 의미함
- 십의 자리에서 올림하여 1300 출력
SELECT FLOOR(1235, -1) ;
결과: 1230
- 자리수 '-1' 은 일의자리를 의미함
- 일의 자리에서 버림하여 1230을 출력
SELECT ROUND(1234.5678, 3) ;
결과: 1234.57
- 자리수 3은 소수점 셋째자리를 의미함
- 셋째자리(7)에서 반올림하여 1234.57을 출력
MOD(숫자1, 숫자2): 숫자1을 숫자2로 나눈 나머지 값
SELECT MOD(17, 5) ;
SELECT 17 MOD 5 ;
SELECt 17 % 5 ;
결과: 2
- 17을 5로 나눈 나머지 출력
TRUNCATE: 자리수 아래의 숫자를 버림
SELECT TRUNCATE(1234.5678, 2) ;
SELECT TRUNCATE(1234.5678, -2) ;
결과1: 1234.56
- 소수점 둘째자리 미만은 버림
결과2: 1230
- 정수 둘째자리부터 버림
02. 날짜 및 시간 함수
ADDDATE(날짜, 차이) - 날짜를 더함
SUBDATE(날짜, 차이) - 날짜를 뺌
SELECT ADDDATE('2022-01-01', INTERVAL 1 DAY) ;
SELECT SUBDATE( FROM_UNIXTIME(1645106440), INTERVAL 1 MONTH) ;
결과1: 2022-01-02
결과2: 2022-01-17 23:00:40
ADDTIME(날짜/시간, 시간) - 시간을 더함
SUBTIME(날짜/시간, 시간) - 시간을 뺌
SELECT ADDTIME('2022-01-01 22:00:00', '1:1:1') ;
SELECT SUBTIME('2022-01-01 22:00:00', '1:1:1') ;
결과1: 2022-01-01 23:01:01
결과2: 2022-01-01 20:58:59
CURDATE(): 현재 연-월-일
CURTIME(): 현재 시:분:초
NOW(): 현재 연-월-일 시:분:초
SYSDATE(): 현재 연-월-일 시:분:초
SELECT CURDATE(), CURTIME(), NOW(), SYSDATE() ;
결과: '2022-05-03' / '11:28:05' / '2022-05-03 11:28:05' / '2022-05-03 11:28:05'
DATE(): 날짜만 출력
TIME(): 시간만 출력
SELECT DATE(NOW()), TIME(NOW()) ;
SELECT DATE(FROM_UNIXTIME(1645106440)), TIME(FROM_UNIXTIME(1645106440)) ;
결과1: '2022-05-03' / '11:30:29'
결과2: '2022-02-17' / '23:00:40'
DATEDIFF(날짜1, 날짜2): 날짜1 - 날짜2의 일수를 결과로 출력함
SELECT DATEDIFF('2022-02-01', '2022-01-01') ;
결과: 31
TIMEDIFF(시간1, 시간2): 시간1 - 시간2의 시간을 'hh:mm:ss' 형태로 출력함
SELECT TIMEDIFF('10:30:27', '1:10:15') ;
SELECT TIMEDIFF(FROM_UNIXTIME(1645106440), FROM_UNIXTIME(1645006340)) ;
결과1: 09:20:12
결과2: 27:48:20
시간 형식 전환
FROM_UNIXTIME(): UNIXTIME 값을 YYYY-MM-DD hh:mm:ss 로 변경
UNIX_TIMESTAMP(): YYYY-MM-DD hh:mm:ss 를 UNIXTIME 값으로 변경
SELECT FROM_UNIXTIME(1645106440) ;
SELECT UNIX_TIMESTAMP('2022-02-17 23:00:40') ;
결과1: 2022-02-17 23:00:40
결과2: 1645106440
'MySQL' 카테고리의 다른 글
14. JOIN(두 개 이상의 테이블을 참조) (0) | 2022.05.03 |
---|---|
13. 피벗(Pivot) (0) | 2022.05.03 |
11. 문자열 함수(CONCAT, CONCAT_WS, FORMAT, LEFT, RIGHT, SUBSTRING_INDEX) (0) | 2022.05.03 |
10. 제어 흐름(IF, IFNULL, NULLIF, CASE~ WHEN~) (0) | 2022.05.03 |
09. 변수의 사용(SET @) (0) | 2022.05.03 |