YMD_BETWEEN 스칼라 함수

YMD_BETWEEN 함수는 두 개의 날짜 시간 값 간 전체 년, 월, 일 수를 지정하는 숫자 값을 리턴합니다.

Read syntax diagramSkip visual syntax diagramYMD_BETWEEN(expression1 ,expression2)

스키마는 SYSIBM입니다.

expression1
두 개의 날짜 시간 값 간 전체 년, 월, 일 수를 계산하기 위해 첫 번째 날짜 시간 값을 지정하는 표현식입니다. 표현식은 DATE, TIMESTAMP, CHAR 또는 VARCHAR 데이터 유형인 값을 리턴해야 합니다. 유니코드 데이터베이스에서 표현식은 GRAPHIC 또는 VARGRAPHIC 데이터 유형이 될 수도 있습니다. CHAR, VARCHAR, GRAPHIC 및 VARGRAPHIC은 내재된 캐스팅을 사용하여 지원됩니다. expression1이 CHAR, VARCHAR, GRAPHIC 또는 VARGRAPHIC 데이터 유형인 경우 TIMESTAMP 스칼라 함수에서 허용하는 유효한 문자열이어야 합니다.
expression2
두 개의 날짜 시간 값 간 전체 년, 월, 일 수를 계산하기 위해 두 번째 날짜 시간 값을 지정하는 표현식입니다. 표현식은 DATE, TIMESTAMP, CHAR 또는 VARCHAR 데이터 유형인 값을 리턴해야 합니다. 유니코드 데이터베이스에서 표현식은 GRAPHIC 또는 VARGRAPHIC 데이터 유형이 될 수도 있습니다. CHAR, VARCHAR, GRAPHIC 및 VARGRAPHIC은 내재된 캐스팅을 사용하여 지원됩니다. expression2 가 CHAR, VARCHAR, GRAPHIC 또는 VARGRAPHIC 데이터 유형인 경우 TIMESTAMP 스칼라 함수에서 허용하는 유효한 문자열이어야 합니다.

expression1expression2 사이에 1일 미만이 있는 경우 결과는 0입니다. expression1expression2보다 이후인 경우 결과는 양수입니다. expression1expression2보다 이전인 경우 결과는 음수입니다. expression1 또는 expression2에 시간 정보가 있는 경우 이 정보는 전체 년, 월, 일 수를 판별하는 데에도 사용됩니다. expression1 또는 expression2에 시간 정보가 없는 경우 자정(00.00.00)은 시간 정보가 누락된 인수에 사용됩니다.

함수의 결과는 INTEGER입니다. 인수 중 하나가 널(NULL)일 수 있는 경우, 결과는 널(NULL)일 수 있습니다. 인수 중 하나가 널(NULL)인 경우, 결과는 널(NULL) 값입니다.

YMD_BETWEEN 함수는 다음 표현식의 동의어입니다.
INTEGER( ( TIMESTAMP(expression1, 12) – TIMESTAMP(expression2, 12) ) / 1000000 )

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

예:

  1. 호스트 변수 YMD를 2013-09-23-23.59.59.123456789012와 2013-09-24-23.59.59.123456789011 사이의 전체 년, 월, 일 수로 설정하십시오.
       SET :YMD = YMD_BETWEEN(TIMESTAMP '2013-09-24-23.59.59.123456789011', 
          TIMESTAMP '2013-09-23-23.59.59.123456789012')
    인수 사이에 1일보다 0.000000000001초 적게 있으므로 호스트 변수 YMD가 0으로 설정됩니다. 첫 번째 인수가 두 번째 인수 이후이므로 양수입니다.
  2. 호스트 변수 YMD를 2013-09-23-23.59.59.123456789012와 2013-09-24-23.59.59.123456789012 사이의 전체 년, 월, 일 수로 설정하십시오.
       SET :YMD = YMD_BETWEEN(TIMESTAMP '2013-09-24-23.59.59.123456789012',
          TIMESTAMP '2013-09-23-23.59.59.123456789012')
    인수 사이에 정확히 1일이 있으므로 호스트 변수 YMD가 1로 설정됩니다. 첫 번째 인수가 두 번째 인수 이후이므로 양수입니다.
  3. 호스트 변수 YMD를 2013-09-23-23.59.59.123456789012와 2016-03-01-23.59.59.123456789011 사이의 전체 년, 월, 일 수로 설정하십시오.
       SET :YMD = YMD_BETWEEN(TIMESTAMP '2013-09-23-23.59.59.123456789012', 
          TIMESTAMP '2016-03-01-23.59.59.123456789011')
    인수 사이에 2년 5개월 8일보다 0.000000000001초 적게 있으므로 호스트 변수 YMD가 -20507로 설정됩니다. 첫 번째 인수가 두 번째 인수보다 이전이므로 음수입니다.