Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Funkcja
Dotyczy:
Databricks SQL
Databricks Runtime 11.3 LTS i nowsze
Zwraca expr rzutowanie do STRING przy użyciu formatowania fmt.
W środowisku Databricks Runtime 14.0 i starszych to_varchar wersjach obsługuje expr typy liczbowe.
W usługach Databricks SQL i Databricks Runtime 14.1 i nowszych to_varchar obsługiwane expr są również typy DATE, TIMESTAMPi BINARY
to_varcharjest synonimem to_char.
Składnia
to_varchar(expr, { numericFormat | datetimeFormat | stringFormat } )
numericFormat
{ ' [ S ] [ L | $ ]
[ 0 | 9 | G | , ] [...]
[ . | D ]
[ 0 | 9 ] [...]
[ L | $ ] [ PR | MI | S ] ' }
Argumenty
-
expr: wyrażenie typu liczbowe, data/godzina,STRINGlubBINARY. -
numericFormatSTRING: literał określający sformatowane dane wyjściowe dlaexprtypu liczbowego. -
datetimeFormatSTRING: literał określający sformatowane dane wyjściowe typuexprdata/godzina. -
stringFormatSTRING: literał określający sformatowane dane wyjściowe dlaexprtypuBINARY.
Zwraca
Reprezentująca STRING wynik operacji formatowania.
datetmeFormat może zawierać wzorce określone w wzorcach datetime.
stringFormat może być jedną z następujących wartości (bez uwzględniania wielkości liter):
"base64"
Podstawowy ciąg 64.
"szesnastkowy"
Ciąg w formacie szesnastkowym.
"utf-8"
Wejściowy plik binarny jest dekodowany do ciągu UTF-8.
numericFormat może zawierać następujące elementy (bez uwzględniania wielkości liter):
0lub9Określa oczekiwaną cyfrę z zakresu od 0 do 9. Sekwencja cyfr z wartościami od 0 do 9 w formacie pasuje do sekwencji cyfr w danych wejściowych. Spowoduje to wygenerowanie ciągu wynikowego o tej samej długości co odpowiednia sekwencja co ciąg formatu. Ciąg wynikowy jest w lewo wypełniony zerami, jeśli sekwencja 0/9 składa się z większej liczby cyfr niż zgodna część wartości dziesiętnej, zaczyna się od 0 i znajduje się przed punktem dziesiętnym. W przeciwnym razie jest wypełniony spacjami.
.lubDOkreśla położenie punktu dziesiętnego (opcjonalnie, dozwolone tylko raz).
,lubGOkreśla położenie separatora grupowania (tysięcy) (,). Musi istnieć od 0 lub 9 do lewej i po prawej stronie każdego separatora grupowania.
$Określa lokalizację znaku waluty $. Ten znak można określić tylko raz.
SlubMIOkreśla położenie znaku "-" lub "+" (opcjonalnie, dozwolone tylko raz na początku lub na końcu ciągu formatu). Należy pamiętać, że
Sdrukuje+dla wartości dodatnich, aleMIdrukuje spację.PRDozwolone tylko na końcu ciągu formatu; określa, że ciąg wynikowy będzie owinięty nawiasami kątowymi, jeśli wartość wejściowa jest ujemna. ('<1>')
Jeśli numExpr funkcja wymaga większej liczby cyfr niż fmt jest to możliwe, funkcja zwraca wartość z wartością i fmt zastąpioną 09 wartością # (np'$###.##'. ).
Jeśli fmt usługa Databricks sql jest nieprawidłowo sformułowana, zwraca błąd.
Ta funkcja jest aliasem dla to_varchar.
Przykłady
> 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.