Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция
Область применения:
Databricks SQL
Databricks Runtime 11.3 LTS и выше
Возвращает приведение expr к STRING использованию форматирования fmt.
В Databricks Runtime 14.0 и более ранних to_char версиях поддерживает expr числовые типы.
В Databricks SQL и Databricks Runtime 14.1 и более поздних to_char версиях также поддерживает expr типы DATE, TIMESTAMPи BINARY
to_charявляется синонимом to_varchar.
Синтаксис
to_char(expr, { numericFormat | datetimeFormat | stringFormat } )
numericFormat
{ ' [ S ] [ L | $ ]
[ 0 | 9 | G | , ] [...]
[ . | D ]
[ 0 | 9 ] [...]
[ L | $ ] [ PR | MI | S ] ' }
Аргументы
-
expr: выражение числовых типов, даты и времени илиSTRINGBINARY. -
numericFormatSTRING: литерал, указывающий форматированные выходные данные дляexprчисловых типов. -
datetimeFormatSTRING: литерал, указывающий форматированные выходные данные дляexprтипа datetime. -
stringFormatSTRING: литерал, указывающий форматированные выходные данные дляexprтипаBINARY.
Возвраты
Результат STRING операции форматирования.
datetmeFormat может содержать шаблоны, указанные в шаблонах Datetime.
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_varchar.
Распространенные условия ошибки
Примеры
> SELECT to_char(454, '999');
454
> SELECT to_char(454, '000.00');
454.00
> SELECT to_char(12454, '99,999');
12,454
> SELECT to_char(78.12, '$99.99');
$78.12
> SELECT to_char(-12454.8, '99,999.9S');
12,454.8-
> SELECT to_char(12454.8, '99,999.9S');
12,454.8+
> SELECT '>' || to_char(123, '00000.00') || '<';
>00123.00<
> SELECT '>' || to_char(123, '99999.99') || '<';
> 123.00<
> SELECT to_char(1.1, '99');
##
> SELECT to_char(111.11, '99.9');
##.#
> SELECT to_char(111.11, '$99.9');
$##.#
> SELECT to_char(date'2016-04-08', 'y');
2016
> SELECT to_char(x'537061726b2053514c', 'base64');
U3BhcmsgU1FM
> SELECT to_char(x'537061726b2053514c', 'hex');
537061726B2053514C
> SELECT to_char(encode('abc', 'utf-8'), 'utf-8');
abc
> SELECT to_char(111, 'wrong');
Error: INVALID_FORMAT