

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

# 数学演算子の記号
<a name="r_OPERATOR_SYMBOLS"></a>

 次の表に、サポートされる数学演算子の一覧を示します。

## サポートされている演算子
<a name="r_OPERATOR_SYMBOLS-supported-operators"></a>


| 演算子  | 説明  | 例  | 結果  | 
| --- | --- | --- | --- | 
| \+  | 加算  | 2 \+ 3  | 5  | 
| -  | 減算  | 2 - 3  | -1  | 
| \*  | 乗算  | 2 \* 3  | 6  | 
| /  | 除算  | 4 / 2  | 2  | 
| %  | モジュロ  | 5 % 4  | 1  | 
| ^  | べき算  | 2.0 ^ 3.0  | 8  | 
| \|/  | 平方根  | \| / 25.0  | 5  | 
| \|\|/  | 立方根  | \|\| / 27.0  | 3  | 
| @  | 絶対値  | @ -5.0  | 5  | 
| <<  | ビット単位で左にシフト  | 1 << 4  | 16  | 
| >>  | ビット単位で右にシフト  | 8 >> 2  | 2  | 
| &  | ビット単位 AND  | 8 & 2  | 0  | 

## 例
<a name="r_OPERATOR_SYMBOLS-examples"></a>

次の例では、TICKIT サンプルデータを使用します。詳細については、「[サンプルデータベース](c_sampledb.md)」を参照してください。

特定の取引において支払われたコミッションに 2.00 USD を加算するには、次の例を使用します。

```
SELECT
    commission,
    (commission + 2.00) AS comm
FROM
    sales
WHERE
    salesid = 10000;

+------------+-------+
| commission | comm  |
+------------+-------+
|      28.05 | 30.05 |
+------------+-------+
```

特定の取引において販売価格の 20% を計算するには、次の例を使用します。

```
SELECT pricepaid, (pricepaid * .20) as twentypct 
FROM sales 
WHERE salesid=10000;

+-----------+-----------+
| pricepaid | twentypct |
+-----------+-----------+
|       187 |      37.4 |
+-----------+-----------+
```

継続的な成長パターンに基づいてチケット販売を予測するには、次の例を使用します。次の例では、サブクエリによって、2008 年に販売されたチケット数が返されます。その結果に、10 年にわたって継続する成長率 5% が指数関数的に乗算されます。

```
SELECT (SELECT SUM(qtysold) FROM sales, date
WHERE sales.dateid=date.dateid AND year=2008)^((5::float/100)*10) AS qty10years;

+------------------+
|    qty10years    |
+------------------+
| 587.664019657491 |
+------------------+
```

日付 ID が 2000 以上である販売の合計支払額および合計コミッションを求めるには、次の例を使用します。その後、合計支払額から合計コミッションを減算します。

```
SELECT SUM(pricepaid) AS sum_price, dateid,
SUM(commission) AS sum_comm, (SUM(pricepaid) - SUM(commission)) AS value
FROM sales 
WHERE dateid >= 2000
GROUP BY dateid 
ORDER BY dateid 
LIMIT 10;

+-----------+--------+----------+-----------+
| sum_price | dateid | sum_comm |   value   |
+-----------+--------+----------+-----------+
|    305885 |   2000 | 45882.75 | 260002.25 |
|    316037 |   2001 | 47405.55 | 268631.45 |
|    358571 |   2002 | 53785.65 | 304785.35 |
|    366033 |   2003 | 54904.95 | 311128.05 |
|    307592 |   2004 |  46138.8 |  261453.2 |
|    333484 |   2005 |  50022.6 |  283461.4 |
|    317670 |   2006 |  47650.5 |  270019.5 |
|    351031 |   2007 | 52654.65 | 298376.35 |
|    313359 |   2008 | 47003.85 | 266355.15 |
|    323675 |   2009 | 48551.25 | 275123.75 |
+-----------+--------+----------+-----------+
```