FromDateTime

FromDateTime

FromDateTime 함수는 형식화된 날짜·시간 문자열을 제공된 Joda-Time 패턴에 따라 밀리초로 변환하는 함수예요.

출처: 문서

본문

제공된 Joda-Time 패턴에 따라 형식화된 날짜·시간 문자열을 밀리초로 변환해요.

시그니처 (Signature)

FromDateTime(dateTimeString, pattern)

사용 예시 (Usage Examples)

SELECT FromDateTime('2019-08-07', 'yyyy-MM-dd') AS epochMillis
FROM ignoreMe
epochMillis
1565136000000
SELECT FromDateTime(
    '2019-08-07 3:12:13 PM', 
    'yyyy-MM-dd hh:mm:ss a'
    ) AS epochMillis
FROM ignoreMe
epochMillis
1565190733000
SELECT FromDateTime(
    '2019-08-07T15:12:13', 
    'yyyy-MM-dd''T''HH:mm:ss'
    ) AS epochMillis
FROM ignoreMe
epochMillis
1565190733000
SELECT FromDateTime(
    '2019-08-07T07:12:13-0800', 
    'yyyy-MM-dd''T''HH:mm:ssZ'
    ) AS epochMillis
FROM ignoreMe
epochMillis
1565190733000

DST 처리 (DST Handling)

파싱된 벽시계 시간이 서머타임(DST) 앞당김 간격(대상 시간대에 로컬 시간이 존재하지 않는 경우)에 해당하면, FromDateTime()은 시간을 다음 유효 순간으로 자동으로 앞당겨요. 이 동작은 Trino, Spark, BigQuery의 표준 구현과 일치해요.

예시: 2026년 Africa/Cairo는 자정(00:00)이 4월 24일에 존재하지 않고 바로 01:00으로 건너뛰는 DST 전환을 해요. 이 날짜로 파싱하면 카이로 시간 01:00의 순간을 반환해요:

SELECT FromDateTime('2026-04-24', 'yyyy-MM-dd', 'Africa/Cairo') AS epochMillis
FROM ignoreMe

동작 변경: 4개 인자 오버로드 FromDateTime(ts, pattern, tz, defaultVal)은 이전에는 DST 간격 입력을 만나면 defaultVal을 반환했어요. 이 변경으로 3개 인자 오버로드와 일관되게 해결된 순간을 반환해요.

오류 처리: 다른 파싱 오류(파싱 불가 입력, 범위를 벗어난 필드 값)는 이전 동작과 동일하게 예외로 계속 표시돼요.

더 알아보기 (Learn more)