DATE_PART 스칼라 함수

DATE_PART 함수는 인수에 기반하여 날짜 및 시간의 부분을 리턴합니다. 날짜, 시간, 시간소인 및 지속기간 값에서 지정되는 서브필드를 추출합니다.

Read syntax diagramSkip visual syntax diagramDATE_PART(format-string ,datetime-expression)

스키마는 SYSIBM입니다.

format-string

date-expression에서 추출되는 날짜 및 시간 단위를 표시하는 표현식입니다. 255바이트 이하인 실제 길이로 내장 문자열 데이터 유형을 리턴하는 표현식입니다. format-string의 format 요소는 datetime-expression을 자르는 방식을 지정합니다. 앞뒤 공백이 문자열에서 제거되고, 결과 서브스트링이 datetime-expression의 유형에 대한 올바른 형식 요소여야 합니다(SQLSTATE 22007). 표 1format-string에 대해 허용 가능한 값을 나열합니다.

datetime 표현식
format-string에 지정된 단위를 추출하는 날짜 시간 값을 지정하는 표현식입니다. 표현식은 DATE, TIME, TIMESTAMP, 날짜 기간, 시간 지속 기간 또는 시간소인 지속 기간인 값을 리턴해야 합니다.
표 1. format-string의 허용 가능한 값
format-string 설명
EPOCH 1970-01-01 00:00:00.00 이후 시간(초)입니다. 값은 양수 또는 음수일 수 있습니다.

DATE, TIME 및 TIMESTAMP의 경우에 유효합니다.

MILLENNIUM/MILLENNIUMS 1000년입니다. 예를 들어, 2는 2000년 1월 1일과 2999년 12월 31일 사이의 날짜를 표시합니다.

DATE, TIMESTAMP, 날짜 기간 및 시간소인 지속 기간의 경우에 유효합니다.

CENTURY/CENTURIES 연도로 표시된 전체 100년 기간 수입니다. 예를 들어, 20은 2000년 1월 1일과 2099년 12월 31일 사이의 날짜를 표시합니다.

DATE, TIMESTAMP, 날짜 기간 및 시간소인 지속 기간의 경우에 유효합니다.

DECADE/DECADES 연도로 표시된 전체 10년 기간 수입니다. 예를 들어, 201은 2010년 1월 1일과 2019년 12월 31일 사이의 날짜를 표시합니다.

DATE, TIMESTAMP, 날짜 기간 및 시간소인 지속 기간의 경우에 유효합니다.

YEAR/YEARS 연도입니다(예: 2015).

DATE, TIMESTAMP, 날짜 기간, 시간소인 지속 기간의 경우에 유효합니다.

QUARTER 지정된 날이 있는 연도의 분기(1 - 4)입니다.

DATE, TIMESTAMP, 날짜 기간 및 시간소인 지속 기간의 경우에 유효합니다.

MONTH/MONTHS

해당 연도의 월 수(1 - 12)입니다.

DATE, TIMESTAMP, 날짜 기간 및 시간소인 지속 기간의 경우에 유효합니다.

WEEK

지정된 날이 있는 연도의 주 수(1 - 53)입니다. 값은 월요일에 시작하는 주의 ISO-8601 정의를 사용하고 일부 연도에는 53주가 있을 수 있고 가끔 1월의 처음 며칠에는 이전 연도의 52번째 또는 53번째 주의 일부로 포함될 수 있습니다.

DATE 및 TIMESTAMP의 경우에 유효합니다.

DAY/DAYS

월의 일(1 - 31)입니다.

DATE, TIMESTAMP, 날짜 기간 및 시간소인 지속 기간의 경우에 유효합니다.

DOW

요일이며 1(일요일) - 7(토요일)입니다.

DATE 및 TIMESTAMP의 경우에 유효합니다.

DOY

년의 일(1 - 366)입니다.

DATE 및 TIMESTAMP의 경우에 유효합니다.

HOUR/HOURS

하루의 시간(0 - 23)입니다.

TIME, TIMESTAMP, 시간 지속 기간 및 시간소인 지속 기간의 경우에 유효합니다.

MINUTE/MINUTES

시간의 분(0 - 59)입니다.

TIME, TIMESTAMP, 시간 지속 기간 및 시간소인 지속 기간의 경우에 유효합니다.

SECOND/SECONDS

분의 초이며 소수 부분은 포함하지 않습니다(0 - 59).

TIME, TIMESTAMP, 시간 지속 기간 및 시간소인 지속 기간의 경우에 유효합니다.

MILLISECOND/MILLISECONDS

분의 초이며 1/1000초까지의 소수 부분에 1000을 곱한 값을 포함합니다(0 - 59999).

TIMESTAMP 및 시간소인 지속 기간의 경우에 유효합니다.

MICROSECOND/MICROSECONDS

분의 초이며 백만분의 1초까지의 소수 부분에 1000000을 곱한 값을 포함합니다(0 - 59999999).

TIMESTAMP 및 시간소인 지속 기간의 경우에 유효합니다.

format-string 값은 대소문자를 구분하지 않습니다.

이 함수 결과의 데이터 유형은 BIGINT입니다. 인수가 널(NULL)일 수 있는 경우, 결과는 널(NULL)일 수 있습니다. 인수가 널(NULL)인 경우, 결과는 널(NULL) 값입니다.

예:

  • 예 1: 날짜 값에서 일 부분을 추출합니다.
    values DATE_PART('DAY', DATE('2007-02-18'));
        Result: 18
  • 예 2: 날짜 기간에서 연도 부분을 추출합니다.
    values DATE_PART('YEAR', cast(20130710 as decimal(8,0)));
        Result: 2013
  • 예 3: 시간 지속 기간에서 시간 부분을 추출합니다.
    values DATE_PART('HOUR', cast(075559 as decimal(6,0)));
        Result: 7