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


тип 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-символ не используется.

Встроенная сортировка типа STRING наследуется от контекста, в котором он используется:

  • Строки, создаваемые функциями, унаследуют сортировку из входных аргументов.
  • В пределах CREATE или ALTER или TABLE параметры сортировки по умолчанию соответствуют параметрам сортировки по умолчанию этого VIEW, FUNCTION или TABLE, VIEW или FUNCTION.
  • В контексте UPDATE верхнего уровня DELETE, INSERT, MERGE или инструкции запроса параметры сортировки по умолчанию UTF8_BINARY.

Для сортировки, игнорирующей конечные пробелы, используйте условие COLLATE UTF8_BINARY_RTRIM.

См. правила приоритета сортировки для получения дополнительной информации.

Примечание.

Хотя для ограничения строкового литерала можно использовать двойные кавычки (") вместо одиночных кавычек ('), это не следует делать, так как это не стандартный 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

> 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