0

I want to use the timestamp-value as a variable for a MySQL-query in python.

tsmin = 1527573750;
tsmax = 1527574050;
command = "SELECT * FROM #CMD# WHERE data.#CMD#.TimesTamp BETWEEN 
          FROM_UNIXTIME(tsmin) AND FROM_UNIXTIME(tsmax)";

This gives this error: _mysql_exceptions.OperationalError: (1054, "Unknown column 'tsmin' in 'where clause'")

When I use following command it works fine.

command = "SELECT * FROM #CMD# WHERE data.#CMD#.TimesTamp BETWEEN 
          FROM_UNIXTIME(1527573750) AND FROM_UNIXTIME(1527574050)"

Anyone who can help me?

JensVDH
  • 3
  • 3
  • 1
    If `tsmin` and `tsmax` are variables in the python script, you can refer to https://stackoverflow.com/questions/902408/how-to-use-variables-in-sql-statement-in-python – Jacob Kudria May 29 '18 at 20:16

1 Answers1

0

f-strings (Python 3.6+)

tsmin = 1527573750;
tsmax = 1527574050;
command = f"SELECT * FROM #CMD# WHERE data.#CMD#.TimesTamp BETWEEN 
          FROM_UNIXTIME({tsmin}) AND FROM_UNIXTIME({tsmax})";

format

tsmin = 1527573750;
tsmax = 1527574050;
command = "SELECT * FROM #CMD# WHERE data.#CMD#.TimesTamp BETWEEN 
          FROM_UNIXTIME({tsmin}) AND FROM_UNIXTIME({tsmax})".format(tsmin=tsmin, tsmax=tsmax);
Joe Samanek
  • 1,644
  • 12
  • 16