Formateur Snowflake
Mettez en forme SQL Snowflake selon les règles de Snowflake pour les chaînes $$, les commentaires //, les conversions :: et les chemins semi-structurés tels que src:customer.name. QUALIFY et MINUS sont traités comme des clauses, SELECT * EXCLUDE, RENAME et REPLACE restent sur la même ligne, et ASOF JOIN passe à la ligne. Les chaînes et les parenthèses non fermées sont signalées avec leur ligne et leur colonne, ce qui aide les ingénieurs de données à examiner les requêtes et les scripts de l’entrepôt de données.
Foire aux questions
Quelle syntaxe Snowflake est prise en charge ?
Les chaînes entre apostrophes simples avec des échappements par barre oblique inverse et des apostrophes doublées, les chaînes délimitées par $$, les identifiants entre guillemets doubles, les références de colonnes $1 et les conversions :: sont reconnus. Les commentaires de ligne // acceptés par Snowflake, en plus de -- et /* */, sont également conservés.
Les chemins semi-structurés sont-ils conservés intacts ?
Oui. Les chemins tels que src:customer.name ou v:items[0]::string restent regroupés, afin que l’accès VARIANT ne soit jamais scindé par des espaces.
Quelles clauses Snowflake sont prises en charge ?
QUALIFY commence sur sa propre ligne et MINUS est traité comme les autres opérateurs d’ensemble. ASOF JOIN commence sur une nouvelle ligne, comme les autres jointures.
Qu’en est-il de SELECT * EXCLUDE ?
EXCLUDE, RENAME, REPLACE et ILIKE restent sur la même ligne que l’astérisque qu’ils modifient. Ainsi, SELECT * EXCLUDE (secret) se lit comme une seule expression de colonne.
Que deviennent les corps de procédure entre $$ ?
Les corps des procédures JavaScript, Python ou Snowflake Scripting écrits entre des marqueurs $$ sont conservés exactement tels quels. Pour Snowflake, ce sont des chaînes ; les reformater pourrait donc modifier le code.
Prend-il en charge MERGE ?
Oui. Les branches WHEN MATCHED et WHEN NOT MATCHED commencent sur de nouvelles lignes.
La casse des mots-clés est-elle modifiée ?
Non. Les mots-clés et les noms conservent la casse utilisée dans votre texte. Les identifiants entre guillemets sont sensibles à la casse dans Snowflake et ne sont jamais modifiés.
Quelles erreurs sont détectées ?
Les chaînes non fermées, les chaînes $$, les identifiants entre guillemets, les commentaires de bloc et les parenthèses non équilibrées sont signalés avec leur ligne et leur colonne. Rien n’est envoyé à votre entrepôt de données.
Quelle est la taille maximale de l’entrée ?
Jusqu’à 1 MB par requête et 128 KB par instruction. Les feuilles de calcul comportant de nombreuses instructions sont mises en forme instruction par instruction.
Puis-je choisir l’indentation, et mon SQL est-il enregistré ?
Utilisez 2 ou 4 espaces, ou des tabulations. Le SQL est mis en forme uniquement en mémoire et n’est jamais enregistré.