این ابزار درست کار نمی‌کند؟

دربارهٔ ابزار «زیباسازی SQL آنلاین»

این ابزار پرس‌و‌جوهای SQL را با تورفتگی سازگار، حروف بزرگ کلمات کلیدی، و شکست خطوط فرمت می‌کند. عبارات SELECT طولانی با چندین join قابل خواندن می‌شوند، با هر بند (SELECT، FROM، WHERE، JOIN، GROUP BY، ORDER BY) به وضوح جدا شده.

زیبا کردن SQL هنگام بررسی پرس‌و‌جوهای پیچیده، تعبیه SQL در مستندات، اشکال‌زدایی پرس‌و‌جوهای تولید از گزارش‌ها، یا اشتراک‌گذاری پرس‌و‌جوها با همکاران ضروری است. SQL فرمت‌نشده در یک خط از نظر فنی معتبر است اما عملاً غیرقابل خواندن.

ابزار با لهجه‌های مدرن SQL (PostgreSQL، MySQL، SQL Server، Oracle، SQLite) آشنا است و CTEs (بندهای WITH)، توابع پنجره، زیرپرس‌و‌جوها، و بدنه‌های روال‌های ذخیره‌شده را به درستی مدیریت می‌کند.

چطور از این ابزار استفاده کنم؟

چطور یک statement SQL را pretty-print کنم؟

  1. SQL را بچسبانید

    یک statement `SELECT`، `INSERT`، `UPDATE`، `DELETE` یا DDL را در فیلد «SQL» قرار دهید. اکثر dialect‌های اصلی کار می‌کنند — Postgres، MySQL، SQLite، MS SQL — هرچند syntax مخصوص dialect (window-frame `ROWS BETWEEN`، `JSON_VALUE`، ...) verbatim حفظ می‌شود، نه نرمال.

  2. «اجرا» را بزنید

    خروجی یک فیلد `formatted` است. keyword‌ها uppercase می‌شوند (`SELECT`، `FROM`، `JOIN`، `WHERE`)، column‌ها زیر `SELECT` indent می‌شوند، join‌ها در خط خود قرار می‌گیرند، و زنجیره‌های `AND` / `OR` زیر `WHERE` می‌شکنند.

  3. comment و string

    single-line (`-- …`)، block (`/* … */`) و comment‌های سبک Postgres `--` عبور می‌کنند. string literal (`'foo'`) و identifier‌های quote شده (`"col"`، `` `col` ``) هرگز لمس نمی‌شوند — محتوای داخل آن‌ها opaque تلقی می‌شود.

  4. آنچه تغییر نمی‌دهد

    بدون rewrite کوئری، بدون optimization hint، بدون validation schema. اگر کوئری شما join‌ها را reorder می‌کند یا paren‌ها را تغییر می‌دهد، این formatter است که انتخاب‌های spacing کاسمتیک می‌کند — semantic‌ها هرگز shift نمی‌کنند.