Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Tipo
Aplica-se a:
Databricks SQL
Databricks Runtime
O tipo suporta sequências de caracteres de qualquer comprimento maior ou igual a 0.
Sintaxe
STRING
Literais
[r|R]'c [ ... ]' [...]
rouRAplica-se a:
Databricks SQL
Databricks Runtime 10.4 LTS ou superiorPrefixo opcional que denota um literal bruto.
cQualquer 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,ALTERouTABLE,VIEWouFUNCTION, o agrupamento padrão corresponde ao agrupamento padrão desseTABLE,VIEWouFUNCTION. - 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:
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, ouCOMMENTcláusula. Por exemplo, uma tabelaLOCATION,OPTIONSou uma cláusulaCOMMENT.
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