

 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/)。

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

# DATE\$1PART 函數
<a name="r_DATE_PART_function"></a>

DATE\$1PART 會從運算式擷取日期部分值。DATE\$1PART 是 PGDATE\$1PART 函數的同義詞。

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

```
DATE_PART(datepart, {date|timestamp})
```

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

 *datepart*   
函數所操作的日期值的特定部分 (例如年、月或日) 的識別碼常值或字串。如需詳細資訊，請參閱[日期或時間戳記函數的日期部分](r_Dateparts_for_datetime_functions.md)。

\$1*date*\$1*timestamp*\$1  
日期欄、時間戳記欄，或會隱性轉換為日期或時間戳記的運算式。*Date* 或 *timestamp* 中的欄或運算式必須包含 *datepart* 中指定的日期部分。

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

DOUBLE

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

DATE\$1PART 函數的預設欄名稱為 `pgdate_part`。

 如需其中一些範例中所使用資料的相關資訊，請參閱 [範本資料庫](c_sampledb.md)。

下列範例會從時間戳記常值尋找分鐘。

```
SELECT DATE_PART(minute, timestamp '20230104 04:05:06.789');
            
pgdate_part
-----------
         5
```

下列範例會從時間戳記常值中尋找週數。週數計算遵循 ISO 8601 標準。如需詳細資訊，請參閱 Wikipedia 中的 [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)。

```
SELECT DATE_PART(week, timestamp '20220502 04:05:06.789');
            
pgdate_part
-----------
         18
```

下列範例會從時間戳記常值尋找月份中的日期。

```
SELECT DATE_PART(day, timestamp '20220502 04:05:06.789');
            
pgdate_part
-----------
         2
```

下列範例會從時間戳記常值尋找星期幾。週數計算是從 0-6 開始的整數，以星期日開始。

```
SELECT DATE_PART(dayofweek, timestamp '20220502 04:05:06.789');
            
pgdate_part
-----------
         1
```

下列範例會從時間戳記常值中尋找世紀。世紀計算遵循 ISO 8601 標準。如需詳細資訊，請參閱 Wikipedia 中的 [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)。

```
SELECT DATE_PART(century, timestamp '20220502 04:05:06.789');
            
pgdate_part
-----------
         21
```

下列範例會從時間戳記常值中尋找千年。千年計算遵循 ISO 8601 標準。如需詳細資訊，請參閱 Wikipedia 中的 [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)。

```
SELECT DATE_PART(millennium, timestamp '20220502 04:05:06.789');
            
pgdate_part
-----------
         3
```

下列範例會從時間戳記常值中尋找微秒。微秒計算遵循 ISO 8601 標準。如需詳細資訊，請參閱 Wikipedia 中的 [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)。

```
SELECT DATE_PART(microsecond, timestamp '20220502 04:05:06.789');
            
pgdate_part
-----------
    789000
```

下列範例會從日期常值中尋找月份。

```
SELECT DATE_PART(month, date '20220502');
            
pgdate_part
-----------
         5
```

下列範例會將 DATE\$1PART 函數套用至資料表中的欄。

```
SELECT date_part(w, listtime) AS weeks, listtime
FROM listing 
WHERE listid=10
            

weeks |      listtime
------+---------------------
 25   | 2008-06-17 09:44:54
(1 row)
```

您可以將日期部分以全名或縮寫表示，在此情況下，*w* 代表週。

週日期部分的天會傳回從 0–6 的整數，從星期日開始。使用 DATE\$1PART 含小數點 (DAYOFWEEK)，來檢視星期六的事件。

```
SELECT date_part(dow, starttime) AS dow, starttime 
FROM event
WHERE date_part(dow, starttime)=6
ORDER BY 2,1;     

 dow |      starttime
-----+---------------------
   6 | 2008-01-05 14:00:00
   6 | 2008-01-05 14:00:00
   6 | 2008-01-05 14:00:00
   6 | 2008-01-05 14:00:00
...
(1147 rows)
```