

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

# LEN 関数
<a name="r_LEN"></a>

指定された文字列の長さを文字列数として返します。

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

LEN は [LENGTH 関数](r_LENGTH.md)、[CHAR\_LENGTH 関数](r_CHAR_LENGTH.md)、[CHARACTER\_LENGTH 関数](r_CHARACTER_LENGTH.md)、および [TEXTLEN 関数](r_TEXTLEN.md) のシノニムです。

```
LEN(expression)
```

## 引数
<a name="r_LEN-argument"></a>

 *expression*   
`CHAR` 文字列、`VARCHAR` 文字列、`VARBYTE` 式、あるいは `CHAR`、`VARCHAR`、または `VARBYTE` 型に暗黙的に評価される式。

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

 INTEGER   
LEN 関数は、入力文字列の文字数を示す整数を返します。  
入力が文字列の場合、LEN 関数は、マルチバイト文字列のバイト数ではなく、この文字列の実際の文字数を返します。例えば、4 バイトの中国語文字を 3 つ保存するためには、`VARCHAR(12)` 列が必要です。LEN 関数は、その文字列に対して `3` を返します。文字列の長さをバイト単位で取得するには、[OCTET\_LENGTH](r_OCTET_LENGTH.md)関数を使用します。

## 使用に関する注意事項
<a name="r_LEN_usage_notes"></a>

*式*が `CHAR` 文字列である場合、末尾のスペースはカウントされません。

*式*が `VARCHAR` 文字列である場合、末尾のスペースはカウントされます。

## 例
<a name="r_LEN-example"></a>

文字列 `français` のバイト数および文字数を返すには、次の例を使用します。

```
SELECT OCTET_LENGTH('français'), 
LEN('français');

+--------------+-----+
| octet_length | len |
+--------------+-----+
|            9 |   8 |
+--------------+-----+
```

OCTET\_LENGTH 関数を使用せずに、文字列 `français` のバイト数および文字数を返すには、次の例を使用します。詳細については、「[CAST 関数](r_CAST_function.md)」を参照してください。

```
SELECT LEN(CAST('français' AS VARBYTE)) as bytes, LEN('français');

+-------+-----+
| bytes | len |
+-------+-----+
|     9 |   8 |
+-------+-----+
```

末尾にスペースのない文字列 `cat`、末尾にスペースが 3 つある `cat `、末尾にスペースが 3 つあり、長さ 6 の `CHAR` にキャストされる `cat `、末尾にスペースが 3 つあり、長さ 6 の `VARCHAR` にキャストされる `cat ` の文字数を返すには、次の例を使用します。この関数は `CHAR` 文字列の末尾のスペースをカウントしませんが、`VARCHAR` 文字列の末尾のスペースはカウントすることに注意してください。

```
SELECT LEN('cat'), LEN('cat   '), LEN(CAST('cat   ' AS CHAR(6))) AS len_char, LEN(CAST('cat   ' AS VARCHAR(6))) AS len_varchar;

+-----+-----+----------+-------------+
| len | len | len_char | len_varchar |
+-----+-----+----------+-------------+
|   3 |   6 |        3 |           6 |
+-----+-----+----------+-------------+
```

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

VENUE テーブル内で最長の venue 名を 10 個返すには、次の例を使用します。

```
SELECT venuename, LEN(venuename)
FROM venue
ORDER BY 2 DESC, 1
LIMIT 10;

+-----------------------------------------+-----+
|                venuename                | len |
+-----------------------------------------+-----+
| Saratoga Springs Performing Arts Center |  39 |
| Lincoln Center for the Performing Arts  |  38 |
| Nassau Veterans Memorial Coliseum       |  33 |
| Jacksonville Municipal Stadium          |  30 |
| Rangers BallPark in Arlington           |  29 |
| University of Phoenix Stadium           |  29 |
| Circle in the Square Theatre            |  28 |
| Hubert H. Humphrey Metrodome            |  28 |
| Oriole Park at Camden Yards             |  27 |
| Dick's Sporting Goods Park              |  26 |
+-----------------------------------------+-----+
```