to_varchar
기능
적용 대상: Databricks SQL Databricks Runtime 11.3 LTS 이상
서식을 사용하여 캐스트를 STRING
반환 expr
합니다fmt
.
Databricks Runtime 14.0 이하 to_varchar
에서는 숫자 형식을 지원합니다 expr
.
Databricks SQL 및 Databricks Runtime 14.1 이상 to_varchar
에서도 형식 및 expr
DATE
TIMESTAMP
BINARY
to_varchar
는 to_char 동의어입니다.
구문
to_varchar(expr, { numericFormat | datetimeFormat | stringFormat } )
numericFormat
{ ' [ S ] [ L | $ ]
[ 0 | 9 | G | , ] [...]
[ . | D ]
[ 0 | 9 ] [...]
[ L | $ ] [ PR | MI | S ] ' }
인수
expr
: 숫자, datetimeSTRING
또는BINARY
.numericFormat
STRING
: 숫자 형식의 형식이 지정된 출력을expr
지정하는 리터럴입니다.datetimeFormat
STRING
: datetime 형식의 형식이 지정된 출력을expr
지정하는 리터럴입니다.stringFormat
STRING
: 형식의 형식이 지정된 출력을expr
지정하는 리터럴입니다BINARY
.
반품
STRING
서식 지정 작업의 결과를 나타내는 값입니다.
datetmeFormat
는 Datetime 패턴에 지정된 패턴을 포함할 수 있습니다.
stringFormat
는 다음 중 하나일 수 있습니다(대/소문자를 구분하지 않는 경우).
'base64'
base 64 문자열입니다.
'16진수'
16진수 형식의 문자열입니다.
'utf-8'
입력 이진 파일은 UTF-8 문자열로 디코딩됩니다.
numericFormat
는 다음 요소를 포함할 수 있습니다(대/소문자를 구분하지 않음).
0
또는9
0과 9 사이의 예상 숫자를 지정합니다. 형식 문자열에서 값이 0과 9 사이의 값을 갖는 숫자 시퀀스는 입력 값의 숫자 시퀀스와 일치합니다. 이렇게 하면 형식 문자열과 해당 시퀀스의 길이가 같은 결과 문자열이 생성됩니다. 0/9 시퀀스가 10진수 값의 일치하는 부분보다 더 많은 숫자로 구성되고, 0으로 시작하고, 소수점 앞에 있는 경우 결과 문자열은 왼쪽에 0이 채워집니다. 그렇지 않으면 공백으로 채워집니다.
.
또는D
소수점 위치를 지정합니다(선택 사항, 한 번만 허용됨).
,
또는G
그룹화(천 단위) 구분 기호(,)의 위치를 지정합니다. 각 그룹화 구분 기호의 왼쪽과 오른쪽에 0 또는 9가 있어야 합니다.
$
$ 통화 기호의 위치를 지정합니다. 이 문자는 한 번만 지정할 수 있습니다.
S
또는MI
'-' 또는 '+' 기호의 위치를 지정합니다(선택 사항으로, 형식 문자열의 시작 또는 끝에서 한 번만 허용됨).
S
는 양수 값에 대해+
를 인쇄하지만MI
는 공백을 인쇄됩니다.PR
형식 문자열의 끝에만 허용됩니다. 입력 값이 음수이면 결과 문자열이 꺾쇠괄호로 래핑되도록 지정합니다. (‘<1>’).
numExpr
에 fmt
가 허용되는 것보다 더 많은 자릿수가 필요한 경우 함수는 fmt
를 반환하고 0
와 9
를 #
으로 대체합니다(예: '$###.##'
).
fmt
가 잘못된 형식인 경우 Databricks SQL에서 오류를 반환합니다.
이 함수는 to_varchar 별칭입니다.
예제
> SELECT to_varchar(454, '999');
454
> SELECT to_varchar(454, '000.00');
454.00
> SELECT to_varchar(12454, '99,999');
12,454
> SELECT to_varchar(78.12, '$99.99');
$78.12
> SELECT to_varchar(-12454.8, '99,999.9S');
12,454.8-
> SELECT to_varchar(12454.8, '99,999.9S');
12,454.8+
> SELECT '>' || to_varchar(123, '00000.00') || '<';
>00123.00<
> SELECT '>' || to_varchar(123, '99999.99') || '<';
> 123.00<
> SELECT to_varchar(1.1, '99');
##
> SELECT to_varchar(111.11, '99.9');
##.#
> SELECT to_varchar(111.11, '$99.9');
$##.#
> SELECT to_varchar(date'2016-04-08', 'y');
2016
> SELECT to_varchar(x'537061726b2053514c', 'base64');
U3BhcmsgU1FM
> SELECT to_varchar(x'537061726b2053514c', 'hex');
537061726B2053514C
> SELECT to_varchar(encode('abc', 'utf-8'), 'utf-8');
abc
> SELECT to_varchar(111, 'wrong');
Error: 'wrong' is a malformed format.