ADD_HOURS 스칼라 함수
ADD_HOURS 함수는 첫 번째 인수에 지정된 시간을 더한 값을 나타내는 시간소인 값을 리턴합니다.
스키마는 SYSIBM입니다.
- 표현식
- 시작 시간소인을 지정하는 표현식입니다. 표현식은 TIMESTAMP, CHAR 또는 VARCHAR 데이터 유형인 값을 리턴해야 합니다. 유니코드 데이터베이스에서 표현식은 GRAPHIC 또는 VARGRAPHIC 데이터 유형이 될 수도 있습니다. CHAR, VARCHAR, GRAPHIC 및 VARGRAPHIC은 내재된 캐스팅을 사용하여 지원됩니다. 표현식은 DATE인 값을 리턴하지 않아야 합니다(SQLSTATE 42815). expression이 CHAR, VARCHAR, GRAPHIC 또는 VARGRAPHIC 데이터 유형인 경우 TIMESTAMP 스칼라 함수에서 허용하는 유효한 문자열이어야 합니다.
- 숫자 표현식
- expression에 지정된 시작 시간소인에 추가할 시간 수를 지정하는 표현식입니다. 표현식은 내장 숫자, CHAR 또는 VARCHAR 데이터 유형인 값을 리턴해야 합니다. 유니코드 데이터베이스에서 표현식은 GRAPHIC 또는 VARGRAPHIC 데이터 유형이 될 수도 있습니다. CHAR, VARCHAR, GRAPHIC 및 VARGRAPHIC은 내재된 캐스팅을 사용하여 지원됩니다. 표현식이 INTEGER가 아닌 경우 함수가 평가되기 전에 INTEGER로 캐스트됩니다. 음수 숫자 값을 사용하여 시간을 뺄 수 있습니다.
함수의 결과는 expression이 시간소인인 경우 expression과 동일한 정밀도를 사용하는 시간소인입니다. 그렇지 않은 경우 결과는 TIMESTAMP(12)입니다. 인수가 널(NULL)일 수 있는 경우, 결과는 널(NULL)일 수 있습니다. 인수가 널(NULL)인 경우, 결과는 널(NULL) 값입니다.
예:
- 현재 시간소인이 2007년 1월 31일 01:02:03.123456이라고 가정하십시오. 현재 시간소인에 1시간을 더하여 호스트 변수 ADD_HOUR를 설정하십시오.
호스트 변수 ADD_HOUR는 2007-01-31-02.02.03.123456을 나타내는 값으로 설정됩니다.SET :ADD_HOUR = ADD_HOURS(CURRENT TIMESTAMP, 1) - TIMESTAMP가 July 27, 1965 23:58:59 값을 사용하는
호스트 변수라고 가정하십시오. 호스트 변수 ADD_HOUR를 해당 시간소인에 3시간을 더한 값으로
설정하십시오.
호스트 변수 ADD_HOUR는 시간소인에 3시간을 더한 값 1965-07-28-02.58.59로 설정됩니다.SET :ADD_HOUR = ADD_HOURS(:TIMESTAMP,3) - ADD_HOURS 함수와 날짜 및 시간 산술을 사용하면 동일한 결과를
얻을 수 있습니다. 다음 예가 이를 보여줍니다.
두 경우에 모두 호스트 변수 TIMESTAMPHV는 값 '2008-02-29-02.58.59'로 설정됩니다.SET :TIMESTAMPHV = TIMESTAMP '2008-2-28-22.58.59' + 4 HOURS SET :TIMESTAMPHV = ADD_HOURS( TIMESTAMP '2008-2-28-22.58.59', 4)이제 동일한 예를 고려하지만 28시간을 추가합니다.
두 경우에 모두 호스트 변수 TIMESTAMPHV는 값 '2008-03-01-02.58.59'로 설정됩니다.SET :TIMESTAMPHV = TIMESTAMP '2008-2-28-22.58.59' + 28 HOURS SET :TIMESTAMPHV = ADD_HOURS(TIMESTAMP '2008-2-28-22.58.59', 28) - TIMESTAMP가 July 27, 1965 23:58:59 값을 사용하는
호스트 변수라고 가정하십시오. 호스트 변수 ADD_HOUR를 해당 시간소인에서 3시간을 뺀 값으로
설정하십시오.
호스트 변수 ADD_HOUR가 1965-07-27-20.58.59로 설정됩니다. 1965년 7월 27일 23:58:59에서 3시간을 뺀 값입니다.SET :ADD_HOUR = ADD_HOURS(:TIMESTAMP,-3)
