I have 3 arguments date, Name and country, this code allows to pass my optionals arguments for my SQL query, for example :
import argparse
parser = argparse.ArgumentParser()
# provide a clear definition of possible arguments
parser.add_argument('--date', type=str, required=False, default=None)
parser.add_argument('--Name', type=str, required=False, default=None)
parser.add_argument('--country', type=str, required=False, default=None)
# get arguments passed in
args = parser.parse_args()
args = args.__dict__
# form statement based on arguments that were given
columns = ' and '.join([x+'=%s' for x in args if args[x]]) #check that args[x] is not None
vars = tuple([args[x] for x in args if args[x]])
statement = "SELECT * FROM TABLE WHERE "+columns
cursor.execute(statement, vars)
My SQL qyery :
'SELECT * FROM TABLE WHERE date=%s and name=%s'
I want call my script like :
script.py --date=var1 --name=var3
Now, if I have a date range, how can I add this argument with the close between
in my SQL to have a query like :
'SELECT * FROM TABLE WHERE date between %s and %s and name=%s'
How CAN I DO it please