Udostępnij za pośrednictwem


Typ: STRING

Dotyczy:zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime

Typ obsługuje sekwencje znaków o dowolnej długości większej lub równej 0.

Składnia

STRING

Wartości stałe

[r|R]'c [ ... ]'
  • r lub R

    Dotyczy:zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime 10.4 LTS i nowsze

    Opcjonalny prefiks oznaczający literał pierwotny.

  • c

    Dowolny znak z zestawu znaków Unicode.

Następujące sekwencje escape są rozpoznawane w zwykłych ciągach znakowych (bez prefiksu r) i zastępowane zgodnie z następującymi regułami:

  • \0 ->\u0000, znak Unicode z kodem 0;
  • \b ->\u0008, usuń;
  • \n ->\u000a, kanał liniowy;
  • \r ->\u000d, powrót karetki;
  • \t ->\u0009, karta pozioma;
  • \Z ->\u001A, zastąp;
  • \% ->\%;
  • \_ ->\_;
  • \<other char> -><other char>, pomiń ukośnik i pozostaw znak w obecnej formie.

Jeśli ciąg jest poprzedzony r, nie ma znaku ucieczki.

Nieodłączne sortowanie typu STRING jest dziedziczone z kontekstu, w którym jest używany:

  • Ciągi wytwarzane przez funkcje uzyskują kolację z argumentów wejściowych funkcji.
  • W obrębie CREATE lub ALTER w TABLE lub VIEW, sortowanie domyślne jest zgodne z domyślnym sortowaniem tego TABLElub VIEW.
  • W najwyższym poziomie kontekstu UPDATE, DELETE, INSERT, MERGE lub instrukcji zapytania domyślne sortowanie to UTF8_BINARY.

W przypadku sortowania, które ignoruje spacje końcowe, użyj klauzuli COLLATE UTF8_BINARY_RTRIM.

Aby uzyskać więcej informacji, zobacz reguły pierwszeństwa sortowania .

Uwaga

Chociaż można użyć podwójnych cudzysłowów (") zamiast pojedynczych cudzysłowów (') do ograniczenia literału ciągu, jest to niezalecane, ponieważ nie jest to standardem SQL.

Ostrzeżenie

Niektóre interfejsy klienta wykonują podstawienia makr w ciągach znaków przed wysłaniem ich do analizatora SQL. Na przykład w notesie Databricks znak (dolara) wprowadza widżet i musi zostać uniknięty, aby zachować go w literału ciągu znaków.

Przykłady

> SELECT 'Spark';
  Spark

> SELECT CAST(5 AS STRING);
  5

> SELECT 'O\'Connell'
  O'Connell

> SELECT 'Some\nText'
  Some
  Text

> SELECT r'Some\nText'
  Some\nText

> SELECT '서울시'
  서울시

> SELECT ''

> SELECT '\\'
  \

> SELECT r'\\'
  \\

-- From a notbook cell (without a widget 'e' being defined)
> SELECT 'Hou$e', 'Hou\$e', r'Hou$e', r'Hou\$e'
  Hou  Hou$e  Hou  Hou$e

> SELECT COLLATION(‘hello’);
  UTF8_BINARY

> CREATE TEMPORARY VIEW v DEFAULT COLLATION UNICODE_CI
  AS SELECT ‘hello’ AS c1;
> SELECT COLLATION FOR(c1) FROM v;
  UNICODE_CI