Comparing database dates: SELECT FROM WHERE Date(today) < MYDATECOL ?

T

Thomas Stein

I want to get in a java prgm all those database records whose MYDATE column contains a
date greater equal a given other date (say: today). How do I specify this
in a SQL query from Java?

Assume the comparison date in java is in a java.util.Date field. Do I have to convert it
into a variable of type java.sql.Date?

The resulting code should look similar to:

java.util.Date somejavadate = new java.util.Date();
java.sql.Date somesqldate = new java.sql.Date(somejavadate);

rs = stmt.executeQuery("SELECT ... FROM ... WHERE " + somesqldate + "<= MYDATECOL");

MYDATECOL is defined with a type "datetime".

However this does not work.
How does the exact query look like?

Is the date query database product specific?

Thomas
 
V

voigt

The resulting code should look similar to:

java.util.Date somejavadate = new java.util.Date();
java.sql.Date somesqldate = new java.sql.Date(somejavadate);

rs = stmt.executeQuery("SELECT ... FROM ... WHERE " + somesqldate + "<= MYDATECOL");

MYDATECOL is defined with a type "datetime".

However this does not work.
How does the exact query look like?

I would try it with prepared Statement:

PreparedStatement pStmt = conn.prepareStatement("select ... from ...
where ?<=MYDATECOL");
pStmt.setTimestamp(1, new
java.sql.Timestamp(System.currentTimeMillis());
rs = stmt.executeQuery();

Greetings Bastian
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,906
Latest member
SkinfixSkintag

Latest Threads

Top