무료 동영상 강의 https://youtu.be/Zk5qFTI-uGY https://youtu.be/b9RFjZ1Givs https://youtu.be/8BmNo-tWxHY https://youtu.be/xFBsy3CSgLc

날짜 데이터란?


일상에서 발생하는 대다수의 데이터는 “시점”(시간의 흐름 가운데 어느 한 순간) 속성을 가지고 있다. “언제 병원에서 진료를 했다. 언제 전철을 탔다. 언제 음식을 주문했다. 언제 태어났다”와 같은 “언제”가 바로 “시점”이다. 대다수의 DBMS는 “시점”을 효율적으로 관리할 수 있도록 날짜 자료형을 제공한다. 데이터를 활용하거나 분석하는 데 있어 “시점”은 매우 중요한 정보다. 그만큼 날짜 자료형의 값을 잘 다룰 수 있어야 한다.

본격적인 설명에 앞서 ‘일시’와 ‘일자’, 두 개 용어를 아래와 같이 정리하니 참고바란다.

NOW와 SYSDATE


MySQL에는 현재 일시를 출력해주는 함수로 NOW와 SYSDATE가 있다.

아래의 NOW와 SYSDATE 예제를 실행해보자. SELECT 절에 사용한 SLEEP 함수는 데이터 출력 중간에 SLEEP을 수행한다. 이를 통해 MySQL 내부적으로 데이터를 가져오면서 1초씩의 텀이 발생된다.

-- [SQL-3-11-1]
-- SLEEP 함께 NOW() 사용
SELECT  T1.ItemId ,T1.ItemNm, SLEEP(1) SLP ,NOW() NowDtm
FROM    startdb.Item T1
WHERE   T1.ItemCat = 'BKR'
ORDER BY T1.ItemId;

ItemId  ItemNm               SLP  NowDtm               
------  -------------------  ---  -------------------  
BGLR    Bagel(R)             0    2024-05-24 08:33:39  
BMFR    Blueberry Muffin(R)  0    2024-05-24 08:33:39  
CMFR    Chocolate Muffin(R)  0    2024-05-24 08:33:39  
MACA    Macaron(R)           0    2024-05-24 08:33:39 

-- [SQL-3-11-2]
-- SLEEP과 함께 SYSDATE() 사용
SELECT  T1.ItemId ,T1.ItemNm, SLEEP(1) SLP ,SYSDATE() SysDtm
FROM    startdb.Item T1
WHERE   T1.ItemCat = 'BKR'
ORDER BY T1.ItemId;

ItemId  ItemNm               SLP  SysDtm               
------  -------------------  ---  -------------------  
BGLR    Bagel(R)             0    2024-05-24 08:33:57  
BMFR    Blueberry Muffin(R)  0    2024-05-24 08:33:58  
CMFR    Chocolate Muffin(R)  0    2024-05-24 08:33:59  
MACA    Macaron(R)           0    2024-05-24 08:34:00