날짜 시간 산술 및 비교
DATE, TIME, TIMESTAMP 값은 동일한 유형의 다른 값과 비교할 수 있습니다. 비교는 연대순입니다. 날짜 시간 값은 증가시키거나 감소시키거나 뺄 수 있습니다.
데이터 저장소가 DB2인 경우, DATE, TIME, TIMESTAMP 유형에 대한 DB2 문자열 표시도 사용할 수 있습니다.
포맷 | 날짜 형식 | 날짜 예 | 시간 형식 | 시간 예 |
---|---|---|---|---|
ISO | yyyy-mm-dd | 1987-02-24 1987-2-24 | hh.mm.ss | 13.50.00 13.50 |
USA | mm/dd/yyyy | 2/24/1987 | hh:mm AM 또는 PM | 1:50 pm 02:10 AM |
EUR | dd.mm.yyyy | 24.02.1987 24.2.1987 | hh.mm.ss | 13.50.00 13.55 |
JIS | yyyy-mm-dd | 1987-02-24 | hh:mm:ss | 13:50 13:50:05 |
예 1: 날짜 시간 산술 비교
e.hiredate > '1990-02-24'
'1990-02-24-13.50.00.000000' or
'1990-02-24-13.50.00'
데이터 저장소가 DB2일 경우, 표현식 및 비교에 DB2 10진 지속 기간을 사용할 수 있습니다. 날짜 지속 기간은 YYYYMMDD 형식의 두 날짜 사이의 차이를 표시하는 10진수(8,0)입니다. 시간 지속 기간은 두 시간 값(HHMMSS) 사이의 차이를 표시하는 10진수(6,0)입니다. 시간소인 지속 기간은 두 시간소인 값 사이의 차이를 YYYYMMDDHHMMSS.ZZZZZZ(ZZZZZZ는 소수점 다음에 오는 마이크로초 수)로 나타내는 10진수(20,6)입니다.
두 날짜 값(또는 시간 값이나 시간소인 값)을 빼서 지속 기간을 알아낼 수 있습니다. 두 번째 피연산자가 첫 번째보다 클 경우, 지속 기간은 음의 10진수입니다. 날짜 시간에서 지속 기간을 더하거나 빼서 새로운 날짜 시간 값을 산출할 수 있습니다.
예 2: 날짜 시간 산술 비교
DATE('3/15/2000') - '12/31/1999'는 십진수 215를 작성하고 이는 0년 2개월 15일의 지속 기간을 나타냅니다.
지속 기간은 실제로 10진수이며 산술 연산식 및 비교에서 사용할 수 있습니다.
( DATE('3/15/2000') - '12/31/1999' ) + 14 > 215는 TRUE로 평가됩니다.
DATE('12/31/1999') + DECIMAL(215,8,0) 이는 날짜 값 3/15/2000이 됩니다.
TIME('11:02:26') - '00:32:56'은 10진수 102930으로 10시간 29분 30초의 시간 지속 기간을 나타냅니다.
TIME('00:32:56') + DECIMAL(102930,6,0)은 11:02:26의 시간 값을 나타냅니다.
TIME('00:00:59') + DECIMAL(240000,6,0)은 00:00:59의 시간 값을 나타냅니다.
e.hiredate + DECIMAL(500,8,0) > '2000-10-01'은 hiredate에 5개월을 더한 값을 10/01/2000 날짜와 비교하는 것을 의미합니다.