Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
тип
Область применения:
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.
См. правила приоритета сортировки для получения дополнительной информации.
Цепные литералы
Область применения:
Databricks Runtime 18.0 и более поздних версий
Строковые литералы можно сцеплять напрямую без необходимости использовать функцию concat или оператор. Это удобно:
- разбивать длинные литералы на несколько строк
- объедините строковые литералы и строковые маркеры параметров там, где нельзя использовать выражения, например, в предложении с таблицей
LOCATION,OPTIONSилиCOMMENT. Например, таблицаLOCATION,OPTIONSилиCOMMENTусловие.
Примечание.
Хотя для ограничения строкового литерала можно использовать двойные кавычки (") вместо одиночных кавычек ('), это не следует делать, так как это не стандартный 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
> EXECUTE IMMEDIATE 'SELECT \'Hello \' :loc \'!\'' USING 'world' AS loc;
Hello World!
> EXECUTE IMMEDIATE
'SELECT '
'1 AS one,'
'2 AS two';
1 2