

 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/)を参照してください。

# \$1 (連結) 演算子
<a name="r_DATE-CONCATENATE_function"></a>

\$1 記号の両側のいずれかの方で DATE を TIME または TIMETZ に連結し、TIMESTAMP または TIMESTAMPTZ を返します。

## 構文
<a name="r_DATE-CONCATENATE_function-synopsis"></a>

```
date + {time | timetz}
```

引数の順序は逆にすることができます。例: *time* \$1 *date*。

## 引数
<a name="r_DATE-CONCATENATE_function-arguments"></a>

 *date*   
データ型 `DATE` の列または `DATE` 型に暗黙的に評価される式。

 *時間*:   
データ型 `TIME` の列または `TIME` 型に暗黙的に評価される式。

 *timetz*   
データ型 `TIMETZ` の列または `TIMETZ` 型に暗黙的に評価される式。

## 戻り型
<a name="r_DATE-CONCATENATE_function-return-type"></a>

入力が *date* \$1 *time* の場合は TIMESTAMP です。

入力が *date* \$1 *timetz* の場合は TIMESTAMPTZ です。

## 例
<a name="r_DATE-CONCATENATE_function-examples"></a>

### セットアップ例
<a name="r_DATE-CONCATENATE_function-example-setup"></a>

例で使用されている TIME\$1TEST テーブルと TIMEZ\$1TEST テーブルをセットアップするには、次のコマンドを使用します。

```
create table time_test(time_val time);

insert into time_test values
('20:00:00'),
('00:00:00.5550'),
('00:58:00');
   
create table timetz_test(timetz_val timetz);
   
insert into timetz_test values
('04:00:00+00'),
('00:00:00.5550+00'),
('05:58:00+00');
```

### 時間列の例
<a name="r_DATE-CONCATENATE_function-examples-time"></a>

次のテーブルの TIME\$1TEST の例には、3 つの値が挿入された列 TIME\$1VAL (タイプ TIME) があります。

```
select time_val from time_test;
            
time_val
---------------------
20:00:00
00:00:00.5550
00:58:00
```

次の例では、日付リテラルと TIME\$1VAL 列を連結します。

```
select date '2000-01-02' + time_val as ts from time_test;
            
ts
---------------------
2000-01-02 20:00:00
2000-01-02 00:00:00.5550
2000-01-02 00:58:00
```

次の例では、日付リテラルと時刻リテラルを連結します。

```
select date '2000-01-01' + time '20:00:00' as ts;
            
         ts
---------------------
 2000-01-01 20:00:00
```

次の例では、時刻リテラルと日付リテラルを連結します。

```
select time '20:00:00' + date '2000-01-01' as ts;
            
         ts
---------------------
 2000-01-01 20:00:00
```

### TIMETZ 列の例
<a name="r_DATE-CONCATENATE_function-examples-timetz"></a>

次のテーブルの TIMETZ\$1TEST の例には、3 つの値が挿入された列 TIMETZ\$1VAL (タイプ TIMETZ) があります。

```
select timetz_val from timetz_test;
            
timetz_val
------------------
04:00:00+00
00:00:00.5550+00
05:58:00+00
```

次の例では、日付リテラルと TIMETZ\$1VAL 列を連結します。

```
select date '2000-01-01' + timetz_val as ts from timetz_test;
ts
---------------------
2000-01-01 04:00:00+00
2000-01-01 00:00:00.5550+00
2000-01-01 05:58:00+00
```

次の例では、TIMETZ\$1VAL 列と date リテラルを連結します。

```
select timetz_val + date '2000-01-01' as ts from timetz_test;
ts
---------------------
2000-01-01 04:00:00+00
2000-01-01 00:00:00.5550+00
2000-01-01 05:58:00+00
```

次の例では、DATE リテラルと TIMETZ 列を連結します。この例では、デフォルトで UTC タイムゾーンにある TIMESTAMPTZ が返されます。UTC は PST よりも 8 時間進んでいるため、結果は入力時間より 8 時間進みます。

```
select date '2000-01-01' + timetz '20:00:00 PST' as ts;
            
           ts
------------------------
 2000-01-02 04:00:00+00
```