

 Amazon Redshift は、パッチ 198 以降、新しい Python UDF の作成をサポートしなくなります。既存の 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>

DATEFORMAT または TIMEFORMAT パラメータの引数として `'auto'` を指定すると、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/ja_jp/redshift/latest/dg/automatic-recognition.html)

自動認識は epochsecs および epochmillisecs はサポートしていません。

日付またはタイムスタンプの値が自動的に変換されるかどうかをテストするには、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 が使用されます。