- 카테고리:
문자열 및 이진 함수 (일반)
RPAD¶
다른 문자열의 문자로 문자열을 오른쪽에 채우거나 다른 이진 값의 바이트로 이진 값을 오른쪽에 채웁니다.
인자(base)는 length_expr 인자의 문자/바이트와 함께 pad 길이로 채워집니다.
- 참고 항목:
구문¶
인자¶
baseVARCHAR 또는 BINARY 값.
length_expr정수로 평가되는 식입니다. 이 식에서 지정하는 사항은 다음과 같습니다.
입력이 VARCHAR 인 경우 반환할 UTF-8 문자 수입니다.
입력이 BINARY 인 경우 반환할 바이트 수입니다.
padVARCHAR 또는 BINARY 값. 유형은
base인자의 데이터 타입과 일치해야 합니다. 이 인자의 문자(또는 바이트)는base를 채우는 데 사용됩니다.
반환¶
반환된 값의 데이터 타입은 base 입력 값(VARCHAR 또는 BINARY)의 데이터 타입과 동일합니다.
사용법 노트¶
base인자가length_expr보다 길면length_expr길이로 잘립니다.pad인자는 여러 문자/바이트 길이일 수 있습니다.pad인자는 원하는length_expr길이에 도달할 때까지 결과에서 반복되어,pad인자에서 불필요한 문자/바이트를 자릅니다.pad인자가 비어 있으면 패딩이 삽입되지 않지만, 결과는 여전히length_expr길이로 잘립니다.base가 문자열인 경우 기본pad문자열은' '(단일 공백)입니다.base가 이진 값이면pad인자를 명시적으로 제공해야 합니다.
데이터 정렬 세부 정보¶
데이터 정렬은 VARCHAR 입력에 적용됩니다. 첫 번째 인자의 입력 데이터 타입이 BINARY 인 경우 데이터 정렬이 적용되지 않습니다.
No impact. 데이터 정렬이 구문적으로 허용되지만, 데이터 정렬은 처리에 영향을 주지 않습니다. 예를 들어, 두 글자 및 세 글자 문자가 있는 언어(예: 헝가리어의 “dzs”, 체코어의 “ch”)는 여전히 길이 인자에 대해 한 문자가 아닌 두 글자 또는 세 문자로 계산합니다.
The collation of the result is the same as the collation of the input. 이는 반환된 값이 중첩 함수 호출의 일부로서 다른 함수에 전달되는 경우에 유용할 수 있습니다.
현재, Snowflake에서는
base인자와pad인자가 서로 다른 데이터 정렬 지정자를 가질 수 있습니다. 그러나 반환 값에는 하나의 정렬 지정자만 있기 때문에 개별 정렬 지정자를 모두 유지할 수는 없습니다.base문자열과 데이터 정렬이 다른pad문자열을 사용하지 않는 것이 좋습니다.
예¶
이 예제에서는 RPAD 함수를 사용하여 오른쪽의 VARCHAR 및 BINARY 데이터를 채웁니다.
테이블을 만들고 채웁니다.
테이블을 쿼리하여 데이터를 표시합니다.
이 예제는 RPAD 함수를 사용하여 VARCHAR 값을 오른쪽에 붙여넣는 것을 보여 주며, 결과는 10문자로 제한됩니다.
이 예제에서는 RPAD 함수를 사용하여 BINARY 값을 오른쪽에 붙여넣는 것을 보여 주며, 결과는 10바이트로 제한됩니다.
이 예제는 여러 문자를 사용하는 경우와 패딩에 사용된 여러 문자 문자열 길이의 짝수 배수가 아닌 경우의 오른쪽 패딩을 보여줍니다.
출력 결과 19개의 문자가 반환되었으며 마지막 * 문자에는 _ 문자가 포함되어 있지 않습니다.