jeudi 26 mars 2015

Pulling records based on Date in JDBC

How can I return all customers whose last appointment_date was 11 months ago from the date today? Or 12 months ago from the date in a month from today?


The first statement is working where I get the appointment from_date and compare it to the current date and return all the appointments that are happening tomorrow:



SELECT appointment.id,
appointment.from_date
WHERE (julianday('now') - julianday(appointment.from_date)) = 1


But for the second statement I cant figure out how to return all customers whose last appointment date was 11 months ago from the current date?



SELECT customer.id,
customer.last_appointment_date
FROM customer
WHERE datediff(month, customer.last_appointment_date, DATEADD(month, getDate())) = 12


datediff() doesn't work because I am using SQLite and it is not a recognised function.


Any help would be greatly appreciated.


EDIT: I am running these query's in my code in netbeans i am using the sqllitejdbc driver to run them through prepared statements


I have edited, its because i am running through netbeans, everytime i use datediff(month, customer.last_appointment_date, DATEADD(month, getDate())) = 12 it returns month not a valid column - it doesnt recognise it as a valid date part?


returned: Caused by: java.sql.SQLException: [SQLITE_ERROR] SQL error or missing database (no such column: month)


Aucun commentaire:

Enregistrer un commentaire