I did not find many examples of using dates with Clojure/JDBC, after some initial struggle I got an example working. So here it is, hopefully it helps someone. By the way this page is a good source if you are interested in Clojure/JDBC.
Source File
(ns clojure-bi.simple
(use clojure.contrib.sql))
(defn connection-props [connect-string user password]
{:classname "oracle.jdbc.driver.OracleDriver"
:subprotocol "oracle:thin"
:subname (str "@" connect-string)
:user user
:password password })
(defn dev-db-props [user password]
(connection-props "devdb.db.cj.com:1521:devdb" user password))
(defn make-sql-date [year month day]
(java.sql.Date.
(.getTimeInMillis
(java.util.GregorianCalendar. year month day))))
(defn get-company-name [db id]
(with-connection db
(with-query-results rs ["select organization from company where id = ? " id]
(first rs))))
(defn find-by-date [db date]
(with-connection db
(with-query-results rs ["select organization from company where trunc(Date_) = ? " date]
(first rs))))
Test file
(ns clojure-bi.simple-test
(:use [clojure-bi.simple] :reload-all)
(:use [clojure.test])
(import (java.util Date)))
(def dev-db (dev-db-props "devender" "test"))
(def expected-company {:organization "Client Services"})
(deftest get-company-name-test
(is (= (get-company-name dev-db 2) expected-company)))
(def date-to-use (make-sql-date 1999 6 15))
(deftest find-by-date-test
(is (= (find-by-date dev-db date-to-use) expected-company)))
The interesting parts are the find-by-date function in the source and the test function find-by-date-test, you have to pass in a java.util.sql Date.
When some one searches for his essential thing, thus he/she desires to be available that in detail, so that thing is maintained over
here.