—
pip3 install "sqlglot[rs]"SQLGlot может использоваться для форматирования SQL или перевода между 21 различными диалектами, в том числе DuckDB, Presto / Trino, Spark / Databricks, Snowflake и BigQuery. Он предназначен для чтения широкого спектра входных данных SQL и вывода синтаксически и семантически корректного SQL на целевых диалектах.
SQLGlot — это очень полный общий парсер SQL с надежным набором тестов. Он также достаточно производителен (за счёт токенизатора на Rust) и при этом написан исключительно на Python.
Вы можете легко настраивать парсер, анализировать запросы, обходить деревья выражений и программно создавать SQL.
Синтаксические ошибки подсвечиваются, несовместимость диалектов отображается, однако SQLGlot не стремится быть валидатором SQL, поэтому он может не обнаружить некоторые синтаксические ошибки.
🖥 GitHub
@sqlhub

