Partilhar via


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, ALTER ou TABLE, VIEW ou FUNCTION, o agrupamento padrão corresponde ao agrupamento padrão desse TABLE, VIEW ou FUNCTION.
  • No contexto de um UPDATE de nível superior , DELETE, INSERT, MERGE ou instrução de consulta o agrupamento padrão é UTF8_BINARY.

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

> 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