Freigeben über


STRING -Typ

Gilt für:durch Häkchen mit „Ja“ markiert Databricks SQL durch Häkchen mit „Ja“ markiert Databricks Runtime

Der Typ unterstützt Zeichensequenzen beliebiger Länge größer oder gleich 0.

Syntax

STRING

Literale

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

    Gilt für:Häkchen ja Databricks SQL Häkchen gesetzt ja Databricks Runtime 10.4 LTS und höher

    Optionales Präfix, das ein unformatiertes Literal angibt.

  • c

    Beliebiges Zeichen aus dem Unicode-Zeichensatz.

Die folgenden Escapesequenzen werden in regulären Zeichenfolgenliteralen (ohne das Präfix r) erkannt und gemäß den folgenden Regeln ersetzt:

  • \0 ->\u0000, Unicode-Zeichen mit Code 0
  • \b ->\u0008, Rücktaste
  • \n ->\u000a, Zeilenvorschub
  • \r ->\u000d, Wagenrücklauf
  • \t ->\u0009, horizontaler Tabstopp
  • \Z ->\u001A, Ersetzung
  • \% ->\%;
  • \_ ->\_;
  • \<other char> -><other char>, Schrägstrich überspringen und Zeichen unverändert lassen

Wenn die Zeichenfolge mit r präfixiert ist, gibt es kein Escape-Zeichen.

Die inhärente Sortierung eines STRING-Typs ist UTF8_BINARY.

Verwenden Sie für die Sortierung, die nachfolgende Leerzeichen ignoriert, die COLLATE UTF8_BINARY_RTRIM-Klausel.

Weitere Informationen finden Sie in den Sortierreihenfolgeregeln.

Hinweis

Sie können zwar doppelte Anführungszeichen (") anstelle einzelner Anführungszeichen (') verwenden, um ein Zeichenfolgenliteral zu trennen, davon wird jedoch abgeraten, da es sich nicht um Standard-SQL handelt.

Warnung

Einige Clientschnittstellen führen Makroersetzungen für Zeichenfolgen durch, bevor diese an den SQL-Parser gesendet werden. In einem Databricks-Notebook führt beispielsweise das $-Zeichen (Dollar) ein Widget ein und muss mit dem Escapezeichen \$ versehen werden, um in einem Zeichenfolgenliteral erhalten zu bleiben.

Beispiele

> 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