

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

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

# 對 DATEFORMAT 和 TIMEFORMAT 使用自動辨識
<a name="automatic-recognition"></a>

如果指定 `'auto'` 做為 DATEFORMAT 或 TIMEFORMAT 參數的引數，Amazon Redshift 會自動辨識和轉換來源資料中的日期格式或時間格式。下列顯示一個範例。

```
copy favoritemovies from 'dynamodb://ProductCatalog' 
iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole'
dateformat 'auto';
```

搭配 DATEFORMAT 和 TIMEFORMAT 的 `'auto'` 引數一起使用時，COPY 會辨識和轉換 [DATEFORMAT 和 TIMEFORMAT 字串範例](r_DATEFORMAT_and_TIMEFORMAT_strings.md) 中資料表所列出的日期和時間格式。此外，`'auto'` 引數還可以辨識下列格式 (使用 DATEFORMAT 和 TIMEFORMAT 字串時不支援這些格式)。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/redshift/latest/dg/automatic-recognition.html)

自動辨識不支援 epoch 秒和 epoch 毫秒。

若要測試日期或時間戳記值是否會自動轉換，請使用 CAST 函數來嘗試將字串轉換為日期或時間戳記值。例如，下列命令測試時間戳記值 `'J2345678 04:05:06.789'`：

```
create table formattest (test char(21));
insert into formattest values('J2345678 04:05:06.789');
select test, cast(test as timestamp) as timestamp, cast(test as date) as date from formattest;

        test          |      timestamp      |	date
----------------------+---------------------+------------
J2345678 04:05:06.789   1710-02-23 04:05:06	1710-02-23
```

如果 DATE 欄的來源資料包含時間資訊，則會截斷時間部分。如果 TIMESTAMP 欄的來源資料省略時間資訊，則時間部分會使用 00:00:00。