Sdílet prostřednictvím


Typ STRING

Platí pro:zaškrtnutí označeného ano Databricks SQL zaškrtnutí označeného ano Databricks Runtime

Typ podporuje sekvence znaků libovolné délky větší nebo rovno 0.

Syntaxe

STRING

Literály

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

    Platí pro:zaškrtnuto ano Databricks SQL zaškrtnuto ano Databricks Runtime 10.4 LTS a vyšší

    Volitelná předpona označující nezpracovaný literál.

  • c

    Libovolný znak ze znakové sady Unicode.

Následující escape sekvence jsou rozpoznány v běžných řetězcových literálech (bez r předpony) a nahrazovány podle následujících pravidel:

  • \0 ->\u0000, znak unicode s kódem 0;
  • \b ->\u0008, zpětný krok;
  • \n ->\u000a, linefeed;
  • \r ->\u000d, návrat kočáru;
  • \t ->\u0009, vodorovný tabulátor;
  • \Z ->\u001A, náhradu;
  • \% ->\%;
  • \_ ->\_;
  • \<other char> -><other char>, přeskočte lomítko a nechte znak tak, jak je.

Pokud je řetězec předponou r, neexistuje žádný únikový znak.

Typická kolace typu STRING se dědí z kontextu, kde je používána:

  • Řetězce vytvořené funkcemi odvozují kolaci ze vstupních argumentů funkce.
  • CREATE, ALTER nebo TABLE má výchozí kolaci, která odpovídá výchozí kolaci tohoto VIEW, FUNCTION nebo TABLE.
  • V kontextu UPDATE nejvyšší úrovně , DELETE, INSERT, MERGE nebo příkaz dotazu výchozí kolace je UTF8_BINARY.

Pro řazení, které ignoruje koncové mezery, použijte klauzuli COLLATE UTF8_BINARY_RTRIM.

Další informace najdete v pravidlech priority kolace .

Poznámka:

I když místo jednoduchých uvozovek (") můžete použít dvojité uvozovky (') k oddělovači řetězcového literálu, nedoporučuje se to, protože to není standardní SQL.

Varování

Některá klientská rozhraní provádějí nahrazení řetězců pomocí maker před odesláním do analyzátoru SQL. Například v poznámkovém bloku Databricks znak (dolaru) představuje widget a musí být zachován použitím , aby se uchoval v řetězcovém literálu.

Příklady

> 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