Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de changer d’annuaire.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer d’annuaire.
Type
S’applique à :
Databricks SQL
Databricks Runtime
Le type prend en charge des séquences de caractères de toute longueur supérieure ou égale à 0.
Syntaxe
STRING
Littéraux
[r|R]'c [ ... ]' [...]
rouRS’applique à :
Databricks SQL
Databricks Runtime 10.4 LTS et versions ultérieuresPréfixe facultatif indiquant un littéral brut.
cN’importe quel caractère du jeu de caractères Unicode.
Les séquences d’échappement suivantes sont reconnues dans des littéraux de chaîne réguliers (sans le préfixe r) et remplacées en fonction des règles suivantes :
-
\0->\u0000, caractère Unicode avec le code 0 ; -
\b->\u0008, retour arrière ; -
\n->\u000a, saut de ligne ; -
\r->\u000d, retour chariot ; -
\t->\u0009, tabulation horizontale ; -
\Z->\u001A, substituer ; -
\%->\%; -
\_->\_; -
\<other char>-><other char>, ignorer la barre oblique et laisser le caractère tel quel.
Si la chaîne est précédée de r, il n’y a pas de caractère d’échappement.
Le classement inhérent d’un STRING type est hérité du contexte dans lequel il est utilisé :
- Les chaînes produites par les fonctions dérivent le classement des arguments d’entrée de la fonction.
- Dans un
CREATEouALTERd’unTABLE,VIEWouFUNCTION, le classement par défaut correspond au classement par défaut de ceTABLE,VIEWouFUNCTION. - Dans le contexte d’un niveau supérieur de UPDATE, DELETE, INSERT, MERGE ou instruction de requête, le classement par défaut est
UTF8_BINARY.
Pour le classement qui ignore les espaces de fin, utilisez la clause COLLATE UTF8_BINARY_RTRIM.
Pour plus d’informations, consultez les règles d’ordre de tri.
Chaînage de littéraux
S’applique à :
Databricks Runtime 18.0 et versions ultérieures
Vous pouvez chaîner des littéraux de chaîne directement sans avoir besoin d’utiliser une fonction concat ou un opérateur ||.
Ceci est pratique pour :
- décomposer les littéraux longs en plusieurs lignes
- Combinez des littéraux de chaîne et des marqueurs de paramètre de chaîne là où vous ne pouvez pas utiliser d’expressions, par exemple dans une clause de table
LOCATION,OPTIONSouCOMMENT. Par exemple, une tableLOCATION, uneOPTIONS, ouCOMMENTune clause.
Remarque
Bien que vous puissiez utiliser des guillemets doubles (") à la place de guillemets simples (') pour délimiter un littéral de chaîne, cette méthode est déconseillée dans la mesure où elle n’est pas conforme à la norme SQL.
Avertissement
Certaines interfaces clientes effectuent des substitutions de macros sur des chaînes avant de les envoyer à l’analyseur SQL.
Par exemple, dans un notebook Databricks, le signe $ (dollar) introduit un widget et doit être placé dans une séquence d’échappement avec \$ pour être conservé dans un littéral de chaîne.
Exemples
> 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