如何在java中编写类似日期的查询

时间:2013-12-16 10:24:05

标签: java date

这里我将仅根据日期获取数据,但我的数据控制日期和时间在这里我使用像查询一样根据日期选择数据,但我没有得到它可以任何plz exp行它谢谢。

String device = "NR09G05635";
String date = "2013-11-29";
java.util.Date temp = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH).parse(date);
java.sql.Date date1 = new java.sql.Date(temp.getTime());
sql = "select * from gpsdata1 where  deviceId=? and dateTime like '" + date1 + "'";
System.out.println("sql" + sql);
ps1 = con.prepareStatement(sql);
ps1.setMaxRows(1);
ps1.setString(1, device);
ps1.execute();
rs = ps1.getResultSet();

2 个答案:

答案 0 :(得分:0)

- 您可以使用LIKE运算符将字符,字符串或CLOB值与模式进行比较。案件很重要。如果模式匹配,则LIKE返回BOOLEAN值TRUE;如果模式匹配,则返回FALSE

  • 使用TO_CHAR以您希望的格式显式创建基于DATE的字符串。不要依赖隐式转换。

选择* 来自gpsdata1 NVL的地方(TO_CHAR(dateTime                       ,'YYYY-MM-DD HH:MI:SS AM'                 )          ,'' - 一个空间          )喜欢'%';

答案 1 :(得分:0)

SELECT * FROM gpsdata1 
WHERE deviceId=? and  CONVERT(VARCHAR(25), dateTime, 126) LIKE '2013-11-19%'

LIKE运算符不适用于DATETIME变量,但您可以将DATETIME转换为VARCHAR