Pretty Printer for T-SQL?

后端 未结 9 2137
野趣味
野趣味 2021-02-04 06:56

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

9条回答
  •  甜味超标
    2021-02-04 07:40

    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
    

提交回复
热议问题