I\'m looking for a good T-SQL Pretty Printer so that all the code looks consistent between developers in our project. Preferably a free/open source one, but paid for isn\'t out
I had the same issue but I was looking for a command line tool. I have finally coded a Python script based on sqlparse that is a Python package mature (10+ years), still very active and aiming to parse and format SQL statements.
In post here my tiny Python script pretty_print_sql.py
in case other users would be interested:
import argparse
import sqlparse
# Parse command line arguments
parser = argparse.ArgumentParser(prog="pretty_print_sql")
parser.add_argument("file", type=argparse.FileType("r"), nargs="+")
args = parser.parse_args()
# Pretty print input files
for file in args.file:
print(sqlparse.format(file.read(), reindent=True, keyword_case='upper'))
To use it:
pretty_print_sql.py input.sql > pretty-output.sql
To install sqlparse
using pip
for personal usage:
python3 -m pip install sqlparse --user --upgrade
To install sqlparse
using pipenv
(within a project):
python3 -m pipenv install sqlparse