Поделиться через


тип STRING

Область применения: флажок Databricks SQL флажок Databricks Runtime

Этот тип поддерживает последовательности символов любой длины, которая больше или равна 0.

Синтаксис

STRING

Литералы

[r|R]'c [ ... ]'
  • r или R

    Область применения: флажок Databricks SQL флажок Databricks Runtime 10.4 LTS и выше

    Необязательный префикс, обозначающий необработанный литерал.

  • c

    Любой символ из кодировки Юникод.

Следующие escape-последовательности распознаются в регулярных строковых литералах (без r префикса) и заменяются в соответствии со следующими правилами:

  • \0 ->\u0000, символ юникода с кодом 0;
  • \b ->\u0008, backspace;
  • \n ->\u000a, linefeed;
  • \r ->\u000d, возврат каретки;
  • \t ->\u0009, горизонтальная вкладка;
  • \Z ->\u001A, заменить;
  • \% ->\%;
  • \_ ->\_;
  • \<other char> -><other char>, пропустите косую черту и оставьте символ как есть.

Если строка имеет префикс r, escape-символ не используется.

Примечание.

Хотя для разделения строкового литерала можно использовать двойные кавычки (") вместо одиночных кавычек,' это не рекомендуется, так как это не стандартный SQL.

Предупреждение

Некоторые клиентские интерфейсы выполняют подстановки макросов в строках перед отправкой в средство синтаксического анализа SQL. Например, в записной книжке $ Databricks знак (доллар) представляет мини-приложение и должен быть экранирован с \$ сохранением в строковом литерале.

Примеры

> 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