SQLiteCpp icon indicating copy to clipboard operation
SQLiteCpp copied to clipboard

Parameterized Query inside the `datetime` function

Open robonetphy opened this issue 3 years ago • 2 comments

Hey There, It been long time since we are using your library, but I have one query for you that is it possible to add parameterize internal function of sqlite like as follow:

  // Define Queries
  std::string insert_counting_log_query = "INSERT INTO log VALUES (NULL, :job_name, :part_name,\n"
       ":batch_name,   datetime('now','-:time_passed second', 'localtime'), datetime('now', 'localtime'));";
  // need to note batch start and end time.
  // end time can be note with datetime('now','localtime')
  // for start time I have number of seconds before the job started as passed time
  // looking for feature like datetime('now','-:time_passed second', 'localtime')

robonetphy avatar Nov 16 '22 07:11 robonetphy

This should already work. However, you can't pass in a parameter into a string, but you can pass in the full string.

Something like

INSERT INTO log VALUES (NULL, :job_name, :part_name,
       :batch_name, datetime('now', :time_passed, 'localtime'), datetime('now', 'localtime')

then bind with

query.bind("time_passed", "-30 second");

dougnazar avatar Dec 21 '22 08:12 dougnazar

@dougnazar Thanks for the solution. My doubts are resolved. @SRombauts Pls let me know if you are planning for these enhancements.

robonetphy avatar Dec 25 '22 20:12 robonetphy