Tipo STRING

Aplica-se a:assinalado como sim Databricks SQL assinalado como sim Databricks Runtime

O tipo suporta sequências de caracteres de qualquer comprimento maior ou igual a 0.

Sintaxe

STRING

Literais

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

    Aplica-se a:marcado como sim Databricks SQL marcado como sim Databricks Runtime 10.4 LTS ou superior

    Prefixo opcional que denota um literal bruto.

  • c

    Qualquer caractere do conjunto de caracteres Unicode.

As seguintes sequências de escape são reconhecidas em literais de strings regulares (sem o prefixo r) e substituídas de acordo com as seguintes regras:

  • \0 ->\u0000, caractere unicode com o código 0;
  • \b ->\u0008, espaço traseiro;
  • \n ->\u000a, alimentação de linha;
  • \r ->\u000d, retorno de carro;
  • \t ->\u0009, tabulação horizontal;
  • \Z ->\u001A, suplente;
  • \% ->\%;
  • \_ ->\_;
  • \<other char> -><other char>, pule a barra e deixe o personagem como está.

Se a cadeia de caracteres for prefixada com r não há nenhum caractere de escape.

O agrupamento inerente de um tipo STRING é herdado do contexto no qual é utilizado.

  • As cadeias de caracteres produzidas por funções derivam o agrupamento dos argumentos de entrada da função.
  • Dentro de um CREATE ou ALTER de um TABLE, VIEW, FUNCTION, ou PROCEDURE, a colação padrão corresponde à colação padrão desse objeto.
  • No contexto de uma instrução de topo UPDATE , DELETE,INSERT, MERGE ou de consulta, a colação padrão é a colação da sessão.

Para agrupamento que ignora espaços à direita, use a cláusula COLLATE UTF8_BINARY_RTRIM.

Consulte as regras de precedência de agrupamento para obter mais informações.

Encadeamento de literais

Aplica-se a:marcado com sim Databricks Runtime 18.0, e posteriores

Podes encadear literais de strings diretamente sem necessidade de usar uma função concat ou um operador ||. Isto é conveniente para:

  • Divide literais longos em várias linhas
  • Combine literais de cadeia e marcadores de parâmetros de cadeia onde não possa usar expressões, como numa tabela LOCATION, OPTIONS, ou COMMENT cláusula. Por exemplo, uma tabela LOCATION, OPTIONS ou uma cláusula COMMENT.

Nota

Embora você possa usar aspas duplas (") em vez de aspas simples (') para delimitar uma cadeia de caracteres literal, isso é desencorajado, pois não é SQL padrão.

Aviso

Algumas interfaces de cliente executam substituições de macro em cadeias de caracteres antes de enviá-las para o analisador SQL. Por exemplo, num bloco de anotações do Databricks, o sinal de $(dólar) introduz um widget e necessita de ser escapado com \$ para ser preservado numa cadeia de caracteres literal.

Exemplos

> 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

-- A literal uses the session collation.
> SET COLLATION UNICODE_CI;
> SELECT COLLATION('hello');
  UNICODE_CI

> 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