Форматиране на 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 започва на нов ред, както и другите съединения.
Какво става със 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 се форматира само в паметта и никога не се записва.