Condividi tramite


Tipo diSTRING

Si applica a:segno di spunta sì Databricks SQL segno di spunta sì Databricks Runtime

Il tipo supporta sequenze di caratteri di qualsiasi lunghezza maggiore o uguale a 0.

Sintassi

STRING

Valori letterali

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

    Si applica a:segno di spunta sì Databricks SQL segno di spunta sì Databricks Runtime 10.4 LTS e versioni successive

    Prefisso facoltativo che denota un raw-literal.

  • c

    Qualsiasi carattere del set di caratteri Unicode.

Le seguenti sequenze di escape vengono riconosciute nei valori letterali di stringa (senza il prefisso r) e sostituite secondo le regole seguenti.

  • \0 ->\u0000, carattere Unicode con il codice 0;
  • \b ->\u0008, spazio indietro;
  • \n ->\u000a, avanzamento riga;
  • \r ->\u000d, ritorno a capo;
  • \t ->\u0009, scheda orizzontale;
  • \Z ->\u001A, sostituire;
  • \% ->\%;
  • \_ ->\_;
  • \<other char> -><other char>, ignora la barra e lascia il carattere invariato.

Se la stringa è preceduta da r, non c'è carattere di escape.

La collazione intrinseca di un tipo STRING viene ereditata dal contesto in cui viene utilizzata:

  • Le stringhe prodotte dalle funzioni derivano la collatione dagli argomenti di input della funzione.
  • All'interno di un CREATE o ALTER, TABLE, VIEW o FUNCTION, le regole di confronto predefinite corrispondono alle regole di confronto predefinite di quel TABLE, VIEW o FUNCTION.
  • Nel contesto di una query di primo livello UPDATE, DELETE, INSERT, MERGE o , l'istruzione di query è regolata dalle regole di confronto predefinite UTF8_BINARY.

Per le regole di confronto che ignorano gli spazi finali, usare la clausola COLLATE UTF8_BINARY_RTRIM.

Per ulteriori informazioni, vedere le regole di precedenza del confronto .

Nota

Anche se è possibile usare virgolette doppie (") anziché virgolette singole (') per delimitare un valore letterale stringa, ciò è sconsigliato perché non è SQL standard.

Avviso

Alcune interfacce client eseguono sostituzioni di macro sulle stringhe prima di inviarle al parser SQL. Ad esempio, in un notebook di Databricks il segno (dollaro) introduce un $ e deve essere preceduto da un carattere di escape con per essere mantenuto in una stringa letterale.

Esempi

> 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