Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Tipo
Aplica-se a:
SQL do Databricks
Runtime do Databricks
O tipo dá suporte a sequências de caracteres de qualquer comprimento maior ou igual a 0.
Sintaxe
STRING
Literais
[r|R]'c [ ... ]' [...]
rouRAplica-se a:
SQL do Databricks
Databricks Runtime 10.4 LTS e versões posterioresPrefixo opcional que indica um literal bruto.
cQualquer caractere do conjunto de caracteres Unicode.
As seguintes sequências de escape são reconhecidas em literais de cadeia de caracteres 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, backspace; -
\n->\u000a, linefeed; -
\r->\u000d, retorno de carro; -
\t->\u0009, guia horizontal; -
\Z->\u001A, substituto; -
\%->\%; -
\_->\_; -
\<other char>-><other char>, pule a barra e deixe o caractere como está.
Se a cadeia de caracteres for prefixada com r não haverá caractere de escape.
A ordenação inerente de um STRING tipo é herdada do contexto no qual ele é usado:
- Cadeias de caracteres produzidas por funções derivam a ordenação a partir dos argumentos de entrada da função.
- Dentro de um
CREATEouALTERde umTABLE,VIEW, ouFUNCTION, a ordenação padrão corresponde à ordenação padrão daqueleTABLE,VIEW, ouFUNCTION. - Dentro do contexto de uma UPDATE instrução de nível superior, DELETE, INSERT, MERGE ou instrução de consulta, a ordenação padrão é
UTF8_BINARY.
Para classificação que ignora os espaços finais, use a cláusula COLLATE UTF8_BINARY_RTRIM.
Confira as regras de precedência de ordenação para obter mais informações.
Encadeamento de literais
Aplica-se a:
Databricks Runtime 18.0 ou posterior
Você pode encadear literais de cadeia de caracteres diretamente sem a necessidade de usar uma função concat ou um operador ||.
Isso é conveniente para:
- dividir literais de código longos em várias linhas
- combinar literais de cadeia de caracteres e marcadores de parâmetro de cadeia de caracteres quando não for possível usar expressões, como em uma tabela,
LOCATION,OPTIONSou cláusulaCOMMENT. Por exemplo, uma tabelaLOCATION, umaOPTIONSou uma cláusulaCOMMENT.
Observação
Embora você possa usar aspas duplas (") em vez de aspas simples (') para delimitar um literal de cadeia de caracteres, isso é desincentivado porque não é 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 do SQL.
Por exemplo, em um notebook do Databricks, o sinal $ (dólar) introduz um widget e precisa ser escapado com \$ para ser preservado em um literal de cadeia de caracteres.
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