Ciao a tutti, dovrei utilizzare una query per farmi restituire una lista delle prenotazioni effettuate "entro un'ora" dal loro inizio. Come potrei fare in sql?
Mi spiego meglio;
Avendo ogni prenotazione un'ora di inizio, vorrei poter fare modificare tale prenotazione massimo un'ora prima che inizi questa prenotazione. Il problema è che non ho trovato funzioni che posso usare o sono funzioni in cui serve un tipo date/datetime, mentre il mio campo "OraDiInizio" è un varchar.
Ho provato cosi:
per questo avevo usato il str_to_date, ma nonostante ciò non so come scrivere la condizionecodice:SELECT * FROM Prenotazione WHERE Data= '" +giornocorrente +"' AND str_to_date(`OraDiInizio`,'%h%i') <= '???? ' IN (SELECT * FROM Prenotazione WHERE Email= 'marco.rossi@gmail.com' ORDER BY str_to_date(`Data`, '%d-%m-%Y') DESC)
Dovrei quindi fare in modo che mi restituisca solo le prenotazioni, la cui data di inizio sia minore o uguale alla data di inizio meno un'ora (entro appunto un'ora dall'inizio).
Funzioni come DATEDIFF O DATEADD, potrebbero servire?? Se si, come??
Spero possiate aiutarmi, grazie in anticipo
P.S: scusate se non sono riuscito a spiegarmi bene...