TIMESTAMP_CMP 함수
타임스탬프 2개의 값을 서로 비교한 후 정수를 반환합니다. 타임스탬프가 동일하면 함수가 0
을 반환합니다. 첫 번째 타임스탬프가 더 크면 함수가 1
을 반환합니다. 반대로 두 번째 타임스탬프가 더 크면 함수가 -1
을 반환합니다.
구문
TIMESTAMP_CMP(timestamp1, timestamp2)
인수
- timestamp1
-
TIMESTAMP
데이터 형식의 열 또는 암시적으로TIMESTAMP
형식으로 평가되는 표현식입니다. - timestamp2
-
TIMESTAMP
데이터 형식의 열 또는 암시적으로TIMESTAMP
형식으로 평가되는 표현식입니다.
반환 타입
INTEGER
예시
다음 예시는 타임스탬프를 비교하고 비교 결과를 보여줍니다.
SELECT TIMESTAMP_CMP('2008-01-24 06:43:29', '2008-01-24 06:43:29'), TIMESTAMP_CMP('2008-01-24 06:43:29', '2008-02-18 02:36:48'), TIMESTAMP_CMP('2008-02-18 02:36:48', '2008-01-24 06:43:29');
timestamp_cmp | timestamp_cmp | timestamp_cmp ---------------+---------------+--------------- 0 | -1 | 1
다음은 LISTTIME 열과 SALETIME 열을 목록별로 비교하는 예입니다. 예를 보면 판매 타임스탬프가 목록 타임스탬프 이후이기 때문에 TIMESTAMP_CMP 값이 -1
임을 알 수 있습니다.
select listing.listid, listing.listtime, sales.saletime, timestamp_cmp(listing.listtime, sales.saletime) from listing, sales where listing.listid=sales.listid order by 1, 2, 3, 4 limit 10;
listid | listtime | saletime | timestamp_cmp --------+---------------------+---------------------+--------------- 1 | 2008-01-24 06:43:29 | 2008-02-18 02:36:48 | -1 4 | 2008-05-24 01:18:37 | 2008-06-06 05:00:16 | -1 5 | 2008-05-17 02:29:11 | 2008-06-06 08:26:17 | -1 5 | 2008-05-17 02:29:11 | 2008-06-09 08:38:52 | -1 6 | 2008-08-15 02:08:13 | 2008-08-31 09:17:02 | -1 10 | 2008-06-17 09:44:54 | 2008-06-26 12:56:06 | -1 10 | 2008-06-17 09:44:54 | 2008-07-10 02:12:36 | -1 10 | 2008-06-17 09:44:54 | 2008-07-16 11:59:24 | -1 10 | 2008-06-17 09:44:54 | 2008-07-22 02:23:17 | -1 12 | 2008-07-25 01:45:49 | 2008-08-04 03:06:36 | -1 (10 rows)
다음은 타임스탬프가 동일할 때 TIMESTAMP_CMP가 0을 반환하는 예입니다.
select listid, timestamp_cmp(listtime, listtime) from listing order by 1 , 2 limit 10;
listid | timestamp_cmp --------+--------------- 1 | 0 2 | 0 3 | 0 4 | 0 5 | 0 6 | 0 7 | 0 8 | 0 9 | 0 10 | 0 (10 rows)