안녕하세요.
고코더 입니다.
now(), sysdate() 너무나도 비슷한 두 함수
●1. MySQL을 쓰다보면 현재 시간을 가져올 때, 두 가지 함수가 있습니다. now(), sysdate()입니다. 대부분은 now()를 쓰는 경우가 많지만, 상황에 따라 sysdate()를 사용하는 경우도 발생합니다. 하지만 두 개의 함수는 닮아 있습니다.
select now(),sysdate();
●2. 해당 SQL을 실행하면 동일한 값이 나타납니다. 흡사 같은 기능의 함수인가 싶지만 아닙니다.
다른 게 있을까?
●3. 이번에는 아래 SQL을 실행해보겠습니다. sleep()을 이용하여, 3초 동안 쿼리를 멈춰 세웁니다.
select sleep(3),now(),sysdate();
●4. 이번에는 차이가 나타납니다. 3초라는 시간이 차이가 납니다.
차이점은!
●5. now()는 실행이 시작되는 시간의 시간으로 고정됩니다. 다시 말하면 실행될 때 시간을 잽니다. 그렇기 때문에 실무에서는 보통 이 함수를 사용해 프로세스 시작 전의 시간을 사용하는 경우가 대부분 입니다.
●6. sysdate()는 함수가 실행되는 기준으로 시간을 표현합니다. 예를 들면 100초 걸리는 쿼리가 있는데 100초 동안의 변경된 시간을 구하고 싶으면 이 함수를 사용합니다.
●7. 정리하면 이렇습니다.
now()는 쿼리가 실행되는 시점을
sysdate()는 함수가 실행되고 끝나는 순간까지의 시점을
'IT_Developers > MySQL' 카테고리의 다른 글
MySQL - 소수점 버림 / FLOOR (0) | 2021.11.13 |
---|---|
MySQL - 데이터베이스 컬럼명 검색하기 (0) | 2021.11.13 |
MySQL - ERROR 1217(23000): Cannot delete or update a parent row: a foreign key constraint fails. / 외래키 제약 풀기 (0) | 2021.11.12 |
MySQL - You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column (0) | 2021.11.12 |
MySQL - 오토커밋 설정, 해체하기 / AUTOCOMMIT, @@AUTOCOMMIT; (0) | 2021.11.12 |
댓글