

# 문자열 함수
<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이면 길이가 `start + length - 1`이고 인덱스 위치가 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!@#$'
```