SQL/SQLite

[SQLite] datetime 관련 함수

jihuSunbae 2024. 10. 3. 19:13

 

 
 

목차


     

     

    날짜 변환 함수 

    SQLite은 DATETIME 자료형이 없기 때문에, 대부분 TEXT로 정의된 날짜를 DATETIME형식으로 변환해줘야함 

     

    날짜 반환 : DATETIME

    'YYYY-MM-DD HH:MM:SS' 형식

     

    - SELECT datetime('2024-10-03', '+1 day', '+3 hours'); -- 결과: '2024-10-04 03:00:00'

     

    날짜 반환 : DATE()

    'YYYY-MM-DD' 형식으로 변경

     

     

    - SELECT date('2024-10-03 14:35:22'); -- 결과: '2024-10-03'

    - SELECT date('2024-10-03', '+5 days'); -- 결과: '2024-10-08'

    - SELECT date('2024-10-03', '-1 year'); -- 결과: '2023-10-03'

     

    날짜 반환 : TIME()

    HH:MM:SS 형식으로 변경 

    - SELECT time('2024-10-03 14:35:22'); -- 결과: '14:35:22'
    - SELECT time('14:35:22', '+3 hours'); -- 결과: '17:35:22'

     

    현지 시간 가져오기 : now, local

    표준 시간(영국) 가져오기 

    - datetime('now'), date('now'), time('now')

     

    현재 내가 있는 곳의 정보 가져오기 -> local 옵션 추가

    - datetime('now', 'local'), date('now', 'local'), time('now', 'local')

     

     

    누적 일수 가져오기: 줄리안 일 반환

    julianday()는 1776월 7월 4일 부터 지정한 시간의 일수를 계산함

    일수 차이를 계산하기 좋음

     

    e.g. julianday('now') - julianday('1776-12-13') 

     

    누적  초 가져오기: 유닉스 에포크

    unixepoch()는 1770월 1월 1일 00:00:00 으로 부터 지정된 날짜까지 초 시간를 가져옴

    초 차이를 계산하기 좋음

    e.g. unixepoch('now') - unixepoch('1776-12-13') 

    원하는 날짜/시간 형식으로 변경: strftime()

    strftime('형식지정자', '날짜')

    - '%Y-%m-%d %H:%M:%S' -> 2024-12-13 24:09:01

     

    + )헷갈리는 형식 지정자

    • 요일 
      • 기본 
        • '%Y-%m-%d %H:%M:%S' 
      • %F: ISO 8601 날짜 형식으로 표시합니다 (예: YYYY-MM-DD).
      • %j: 연중 일수를 표시합니다 (예: 001-366).
      • %u: 월요일을 1로 시작하는 주중 일수를 표시합니다 (예: 1-7).
      • %w: 일요일을 0으로 시작하는 주중 일수를 표시합니다 (예: 0-6)

     

     

    차이 계산하기

     

    두 날짜 간 시간 차이 계산

    timediff(날짜1, 날짜2)

     

    두 날짜 간 day 차이 계산

    julianday(날짜1, 날짜2)

     

     

    초단위 계산하기

    strftime("%s", 날짜1) - strftime("%s", 날짜2)

    unixepoch(날짜1)-unixepoch(날짜2)

     

     

     

     

     

     


    Reference

     

    https://www.mindscale.kr/docs/sqlite/date-and-time-functions

    'SQL > SQLite' 카테고리의 다른 글

    [SQLite][문제풀이] 레스토랑 요일 별 구매 금액 Top3 영수증  (0) 2024.11.11
    [SQLite] JOIN  (0) 2024.10.04
    [SQLite] CASE IF  (1) 2024.10.03
    [SQLite] LEAD OVER 구문  (1) 2024.10.03
    [SQLite] with 구문  (1) 2024.10.03