AGE 스칼라 함수

AGE 함수는 현재 시간소인과 인수 사이의 전체 년, 월, 일 수를 나타내는 숫자 값을 리턴합니다.

Read syntax diagramSkip visual syntax diagramAGE(expression)

스키마는 SYSIBM입니다.

표현식
연령이 계산되는 날짜 시간 값을 지정하는 표현식입니다. 표현식은 DATE, TIMESTAMP, CHAR 또는 VARCHAR 데이터 유형인 값을 리턴해야 합니다. 유니코드 데이터베이스에서 표현식은 GRAPHIC 또는 VARGRAPHIC 데이터 유형이 될 수도 있습니다. CHAR, VARCHAR, GRAPHIC 및 VARGRAPHIC은 내재된 캐스팅을 사용하여 지원됩니다. expression이 CHAR, VARCHAR, GRAPHIC 또는 VARGRAPHIC 데이터 유형인 경우 TIMESTAMP 스칼라 함수에서 허용하는 유효한 문자열이어야 합니다.

현재 시간소인과 expression 사이에 1일 미만이 있는 경우 결과는 0입니다. expression이 현재 시간소인 이전인 경우 결과는 양수입니다. expression이 현재 시간소인 이후인 경우 결과는 음수입니다.

함수의 결과는 INTEGER입니다. 인수가 널(NULL)일 수 있으면 결과가 널(NULL)일 수 있습니다. 인수가 널(NULL)인 경우 결과는 널(NULL) 값입니다.

AGE 함수는 다음 표현식의 동의어입니다.
INTEGER( ( CURRENT TIMESTAMP(12) – TIMESTAMP( expression, 12 ) ) / 1000000 )

결과는 시간소인 지속 기간의 년, 월, 일 구성요소 추출에 대한 정수 표시입니다.

참고

  • 결정: AGE는 결정 함수입니다. 그러나 함수의 호출은 특수 레지스터 CURRENT TIMESTAMP의 값에 따라 다릅니다. AGE 함수는 특수 레지스터가 지원되는 모든 위치에서 사용할 수 있습니다(SQLSTATE 42621, 428EC 또는 429BX).

예:

  1. CURRENT TIMESTAMP(12)가 2013-09-24-11.28.00.123456789012라고 가정하십시오. 호스트 변수 AGE1을 현재 시간소인과 2012-02-28-12.00.00 사이의 전체 년, 월, 일 수로 설정하십시오.
       SET :AGE1 = AGE(TIMESTAMP '2012-02-28-12.00.00')
    호스트 변수 AGE1는 10624로 설정됩니다.
  2. CURRENT TIMESTAMP(12)가 2013-09-24-11.28.00.123456789012라고 가정하십시오. 호스트 변수 AGE1을 현재 시간소인과 2012-02-28-12.00.00 사이의 전체 년, 월, 일 수로 설정하십시오.
       SET :AGE1 = AGE(TIMESTAMP '2013-09-23-12.00.00')
    호스트 변수 AGE1은 0으로 설정됩니다.
  3. CURRENT TIMESTAMP(12)가 2013-09-24-11.28.00.123456789012라고 가정하십시오. 호스트 변수 AGE1을 현재 시간소인과 2020-01-01 사이의 전체 년, 월, 일 수로 설정하십시오.
       SET :AGE1 = AGE(DATE '2020-01-01')
    호스트 변수 AGE1이 -60306으로 설정됩니다.