Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция
Область применения:
Databricks SQL
Databricks Runtime 11.3 LTS и выше
Возвращает expr, приведённый к STRING, с использованием форматирования 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: выражение типа числовой, даты и времени,STRINGилиBINARY. -
numericFormatSTRING: литерал, указывающий форматированные выходные данные дляexprчисловых типов. -
datetimeFormatSTRING: литерал, указывающий форматированные выходные данные для объектаexprтипа дата и время. -
stringFormatSTRING: литерал, указывающий форматированные выходные данные дляexprтипаBINARY.
Возвраты
Символ STRING, представляющий результат операции форматирования.
datetmeFormat может содержать шаблоны, указанные в Datetime patterns.
stringFormat может быть одним из следующих вариантов (без учета регистра):
"base64"
Базовая строка 64.
"шестнадцатеричный"
Строка в шестнадцатеричном формате.
'utf-8'
Входной двоичный файл декодируется в строку UTF-8.
numericFormat может включать следующие элементы (регистр не имеет значения):
0или9Указывает ожидаемую цифру между 0 и 9. Последовательность цифр со значениями от 0 до 9 в строке формата соответствует последовательности цифр в входном значении. Это приводит к созданию результирующей строки с той же длиной, что и у соответствующей последовательности, в виде строки форматирования. Результирующая строка слева заполняется нулями, если последовательность 0/9 содержит больше цифр, чем соответствующая часть десятичного значения, начинается с 0 и расположена до десятичной точки. В противном случае, оно заполняется пробелами.
.илиDУказывает позицию десятичной точки (необязательно, разрешено только один раз).
,илиGУказывает позицию разделителя группирований (тысяч) (,). Справа и слева от каждого разделителя группирований должна находиться цифра 0 или 9.
$Указывает расположение знака валюты $. Этот символ может быть указан только один раз.
SилиMIУказывает позицию знака "-" или "+" (необязательно, разрешено только один раз в начале или конце строки формата). Обратите внимание, что
Sпечатает+для положительных значений, ноMIпечатает пробел.PRРазрешено только в конце строки форматирования. Указывает, что результирующая строка будет заключена в угловые скобки, если входное значение отрицательное. ('<1>').
Если numExpr требует больше цифр, чем разрешает fmt, функция возвращает fmt с 0 и 9, заменёнными на # (например, '$###.##').
Если fmt неправильно сформирован Azure Databricks вызывает INVALID_FORMAT.
Эта функция является псевдонимом для to_char.
Распространенные условия ошибки
Примеры
> 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: INVALID_FORMAT