

# 文字列関数
<a name="s3-select-sql-reference-string"></a>

**重要**  
新規のお客様への Amazon S3 Select の提供は終了しました。Amazon S3 Select をご利用の既存のお客様は、今後も通常どおり使用できます。[詳細情報](https://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/) 

Amazon S3 Select では、以下の文字列関数がサポートされています。

**Topics**
+ [CHAR\$1LENGTH, CHARACTER\$1LENGTH](#s3-select-sql-reference-char-length)
+ [LOWER](#s3-select-sql-reference-lower)
+ [SUBSTRING](#s3-select-sql-reference-substring)
+ [TRIM](#s3-select-sql-reference-trim)
+ [UPPER](#s3-select-sql-reference-upper)

## CHAR\$1LENGTH, CHARACTER\$1LENGTH
<a name="s3-select-sql-reference-char-length"></a>

`CHAR_LENGTH` (または `CHARACTER_LENGTH`) は、指定された文字列の文字数をカウントします。

**注記**  
`CHAR_LENGTH` と `CHARACTER_LENGTH` はシノニムです。

### 構文
<a name="s3-select-sql-reference-char-length-syntax"></a>

```
CHAR_LENGTH ( string )
```

### パラメータ
<a name="s3-select-sql-reference-char-length-parameters"></a>

 *`string`*   
関数の対象となる文字列。

### 例
<a name="s3-select-sql-reference-char-length-examples"></a>

```
CHAR_LENGTH('')          -- 0
CHAR_LENGTH('abcdefg')   -- 7
```

## LOWER
<a name="s3-select-sql-reference-lower"></a>

文字列を指定すると、`LOWER` はすべての大文字を小文字に変換します。大文字以外の文字は変更されません。

### 構文
<a name="s3-select-sql-reference-lower-syntax"></a>

```
LOWER ( string )
```

### パラメータ
<a name="s3-select-sql-reference-lower-parameters"></a>

 **`string`**   
関数の対象となる文字列。

### 例
<a name="s3-select-sql-reference-lower-examples"></a>

```
LOWER('AbCdEfG!@#$') -- 'abcdefg!@#$'
```

## SUBSTRING
<a name="s3-select-sql-reference-substring"></a>

文字列、起動インデックス、長さ (オプション) を指定すると、`SUBSTRING` は開始インデックスから文字列の末尾、または指定された長さまでの部分文字列を返します。

**注記**  
入力文字列の先頭文字は、インデックス位置が 1 になります。  
 `start` が 1 未満で、長さを指定しない場合、インデックス位置は 1 に設定されます。
 `start` が 1 未満で、長さを指定した場合、インデックス位置は `start + length -1` に設定されます。
 `start + length -1` が 0 未満の場合は、空の文字列が返されます。
 `start + length -1` が 0 以上の場合は、インデックス位置 1 から始まる長さ `start + length - 1` の部分文字列が返されます。

### 構文
<a name="s3-select-sql-reference-substring-syntax"></a>

```
SUBSTRING( string FROM start [ FOR length ] )
```

### パラメータ
<a name="s3-select-sql-reference-substring-parameters"></a>

 **`string`**   
関数の対象となる文字列。

 **`start`**   
文字列の開始位置。

 **`length`**   
返す部分文字列の長さ。存在しない場合は、文字列の末尾に進みます。

### 例
<a name="s3-select-sql-reference-substring-examples"></a>

```
SUBSTRING("123456789", 0)      -- "123456789"
SUBSTRING("123456789", 1)      -- "123456789"
SUBSTRING("123456789", 2)      -- "23456789"
SUBSTRING("123456789", -4)     -- "123456789"
SUBSTRING("123456789", 0, 999) -- "123456789" 
SUBSTRING("123456789", 1, 5)   -- "12345"
```

## TRIM
<a name="s3-select-sql-reference-trim"></a>

文字列の先頭または末尾の文字を切り捨てます。削除するデフォルトの文字はスペース (`' '`) です。

### 構文
<a name="s3-select-sql-reference-trim-syntax"></a>

```
TRIM ( [[LEADING | TRAILING | BOTH remove_chars] FROM] string )
```

### パラメータ
<a name="s3-select-sql-reference-trim-parameters"></a>

 **`string`**   
関数の対象となる文字列。

 `LEADING` \$1 `TRAILING` \$1 `BOTH`   
このパラメータは、先頭または末尾の文字、またはその両方を切り捨てるかどうかを指定します。

 **`remove_chars`**   
削除する文字のセット。`remove_chars` は、長さが 1 より大きい文字列とすることができます。この関数は、削除された文字列の先頭または末尾で見つかった `remove_chars` から、任意の文字を含む文字列を返します。

### 例
<a name="s3-select-sql-reference-trim-examples"></a>

```
TRIM('       foobar         ')               -- 'foobar'
TRIM('      \tfoobar\t         ')            -- '\tfoobar\t'
TRIM(LEADING FROM '       foobar         ')  -- 'foobar         '
TRIM(TRAILING FROM '       foobar         ') -- '       foobar'
TRIM(BOTH FROM '       foobar         ')     -- 'foobar'
TRIM(BOTH '12' FROM '1112211foobar22211122') -- 'foobar'
```

## UPPER
<a name="s3-select-sql-reference-upper"></a>

文字列を指定すると、`UPPER` はすべての小文字を大文字に変換します。小文字以外の文字は変更されません。

### 構文
<a name="s3-select-sql-reference-upper-syntax"></a>

```
UPPER ( string )
```

### パラメータ
<a name="s3-select-sql-reference-upper-parameters"></a>

 **`string`**   
関数の対象となる文字列。

### 例
<a name="s3-select-sql-reference-upper-examples"></a>

```
UPPER('AbCdEfG!@#$') -- 'ABCDEFG!@#$'
```