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.
  • V rámci CREATE objektu nebo z ALTER objektu TABLE, VIEWFUNCTION, nebo , nebo PROCEDURE, výchozí kolace odpovídá výchozí kolaci tohoto objektu.
  • V kontextu nejvyšší úrovně UPDATE , DELETE, , INSERT, MERGE nebo dotaz příkazem výchozí kolace je kolace relace.

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

Další informace najdete v pravidlech priority kolace .

Řetězení literálů

Platí pro:zaškrtnuto je ano Databricks Runtime 18.0 a novější

Řetězcové literály můžete řetězit přímo, aniž byste potřebovali použít funkci concat nebo operátor ||. To je výhodné pro:

  • rozdělit dlouhé literály na více řádků
  • zkombinujte řetězcové literály a značky řetězcových parametrů , ve kterých nemůžete používat výrazy, například v tabulce LOCATION, OPTIONSnebo COMMENT klauzuli. Například tabulka LOCATION, OPTIONSnebo COMMENT klauzule.

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

-- A literal uses the session collation.
> SET COLLATION UNICODE_CI;
> SELECT COLLATION('hello');
  UNICODE_CI

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

> EXECUTE IMMEDIATE 'SELECT \'Hello \' :loc \'!\'' USING 'world' AS loc;
  Hello World!

> EXECUTE IMMEDIATE
    'SELECT '
        '1 AS one,'
        '2 AS two';
  1 2