

 Amazon Redshift 將不再支援從修補程式 198 開始建立新的 Python UDFs。現有 Python UDF 將繼續正常運作至 2026 年 6 月 30 日。如需詳細資訊，請參閱[部落格文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# TIMESTAMP\_CMP 函數
<a name="r_TIMESTAMP_CMP"></a>

比較兩個時間戳記的值並傳回整數。如果時間戳記相同，則函數會傳回 `0`。如果第一個時間戳記較大，則函數會傳回 `1`。如果第二個時間戳記較大，則函數會傳回 `-1`。

## 語法
<a name="r_TIMESTAMP_CMP-synopsis"></a>

```
TIMESTAMP_CMP(timestamp1, timestamp2)
```

## 引數
<a name="r_TIMESTAMP_CMP-arguments"></a>

 *timestamp1*   
`TIMESTAMP` 資料類型的欄，或是隱含評估為 `TIMESTAMP` 類型的運算式。

 *timestamp2*   
`TIMESTAMP` 資料類型的欄，或是隱含評估為 `TIMESTAMP` 類型的運算式。

## 傳回類型
<a name="r_TIMESTAMP_CMP-return-type"></a>

INTEGER

## 範例
<a name="r_TIMESTAMP_CMP-examples"></a>

下列範例會比較時間戳記，並顯示比較結果。

```
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)
```