Форматувальник Snowflake
Форматуйте Snowflake SQL за правилами Snowflake для рядків $$, коментарів //, приведень типів :: і напівструктурованих шляхів, як-от src:customer.name. QUALIFY і MINUS обробляються як клаузи, SELECT * EXCLUDE, RENAME і REPLACE залишаються в одному рядку, а ASOF JOIN починається з нового рядка. Про незакриті рядки й дужки повідомляється із зазначенням рядка та стовпця, що допомагає інженерам даних перевіряти запити й скрипти для сховищ даних.
Поширені запитання
Який синтаксис Snowflake розпізнається?
Розпізнаються рядки в одинарних лапках з екрануванням зворотною скісною рискою та подвоєними лапками, рядки в доларових лапках $$, ідентифікатори в подвійних лапках, посилання на стовпці $1 і приведення типів ::. Також зберігаються коментарі до рядка //, які Snowflake підтримує на додачу до -- і /* */.
Чи зберігаються напівструктуровані шляхи без змін?
Так. Шляхи на кшталт src:customer.name або v:items[0]::string залишаються цілісними, тож доступ до VARIANT ніколи не розривається пробілами.
Які клаузи Snowflake підтримуються?
QUALIFY починається з нового рядка, а MINUS обробляється як інші оператори об’єднання множин. ASOF JOIN починається з нового рядка, як і інші JOIN.
Як обробляється SELECT * EXCLUDE?
EXCLUDE, RENAME, REPLACE та ILIKE залишаються в тому самому рядку, що й зірочка, яку вони змінюють. Тому SELECT * EXCLUDE (secret) сприймається як один вираз стовпця.
Що відбувається з тілами процедур у $$?
Тіла процедур JavaScript, Python або Snowflake Scripting, записані між маркерами $$, зберігаються саме так, як їх написано. Для Snowflake це рядки, тому їх форматування могло б змінити код.
Чи підтримується MERGE?
Так. Гілки WHEN MATCHED і WHEN NOT MATCHED починаються з нових рядків.
Чи змінюється регістр ключових слів?
Ні. Ключові слова й імена зберігають регістр, у якому ви їх написали. Ідентифікатори в лапках у Snowflake чутливі до регістру, і їх ніколи не змінюють.
Які помилки виявляються?
Незакриті рядки, рядки $$, ідентифікатори в лапках і блокові коментарі, а також незбалансовані круглі дужки — для кожного вказуються рядок і стовпець. Нічого не надсилається до вашого сховища даних.
Який максимальний розмір вхідних даних?
До 1 MB на запит і 128 KB на оператор. Робочі аркуші з багатьма операторами форматуються по одному оператору за раз.
Чи можна вибрати відступи та чи зберігається мій SQL?
Використовуйте 2 або 4 пробіли чи табуляцію. SQL форматується лише в пам’яті й ніколи не зберігається.