카테고리:

문자열 및 이진 함수 (일반)

RPAD

다른 문자열의 문자로 문자열을 오른쪽에 채우거나 다른 이진 값의 바이트로 이진 값을 오른쪽에 채웁니다.

인자(base)는 length_expr 인자의 문자/바이트와 함께 pad 길이로 채워집니다.

구문

RPAD(<base>, <length_expr> [, <pad>])
Copy

인자

base

이는 VARCHAR 또는 BINARY 값이어야 합니다.

length_expr

길이는 정수로 평가되는 식이어야 합니다. 다음을 지정해야 합니다.

  • 입력이 VARCHAR 인 경우 반환할 UTF-8 문자 수입니다.

  • 입력이 BINARY 인 경우 반환할 바이트 수입니다.

pad

이는 VARCHAR 또는 BINARY 값이어야 합니다. 타입은 base 매개 변수의 데이터 타입과 일치해야 합니다. 이 매개 변수의 문자(또는 바이트)는 base 을 채우는 데 사용됩니다.

반환

반환된 값의 데이터 타입은 base 입력 값(BINARY 또는 VARCHAR)의 데이터 타입과 동일합니다.

사용법 노트

  • base 인자가 length_expr 보다 길면 length_expr 길이로 잘립니다.

  • pad 인자는 여러 문자/바이트 길이일 수 있습니다. pad 인자는 원하는 length_expr 길이에 도달할 때까지 결과에서 반복되어, pad 인자에서 불필요한 문자/바이트를 자릅니다. pad 인자가 비어 있으면 패딩이 삽입되지 않지만, 결과는 여전히 length_expr 길이로 잘립니다.

  • base 가 문자열인 경우, 기본 pad 문자열 기본값은 ‘ ‘(단일 공백)입니다. base 가 이진 값이면 pad 인자를 명시적으로 제공해야 합니다.

데이터 정렬 세부 정보

  • 데이터 정렬은 VARCHAR 입력에 적용됩니다. 첫 번째 매개 변수의 입력 데이터 타입이 BINARY 인 경우 데이터 정렬이 적용되지 않습니다.

  • No impact. 데이터 정렬이 구문적으로 허용되지만, 데이터 정렬은 처리에 영향을 주지 않습니다. 예를 들어, 2자 및 3자 문자가 있는 언어(예: 헝가리어의 “dzs”, 체코어의 “ch”)는 여전히 길이 인자에 대해 두 개 또는 세 개의 문자(한 문자가 아님)로 계산합니다.

  • The collation of the result is the same as the collation of the input. 이는 반환된 값이 중첩 함수 호출의 일부로서 다른 함수에 전달되는 경우에 유용할 수 있습니다.

  • 현재, Snowflake에서는 base 인자와 pad 인자가 서로 다른 데이터 정렬 지정자를 가질 수 있습니다. 그러나 반환된 값에는 데이터 정렬 지정자가 하나만 있기 때문에 개별 데이터 정렬 지정자를 둘 다 유지할 수는 없습니다. Snowflake는 사용자가 pad 문자열과는 데이터 정렬이 다른 base 문자열을 사용하지 않을 것을 권장합니다.

SELECT RPAD('123.50', 20, '*-') FROM dual;

--------------------------+
 RPAD('123.50', 20, '*-') |
--------------------------+
 123.50*-*-*-*-*-*-*-     |
--------------------------+
Copy