[英]how to parse date n java to oracle/sql query?
我有一個類似的查詢
String query = "Select * from Orders where ordername = ? and orderDate > SYSDATE - 2 ";
我將從 UI 或一些常量(“20-9-2016”)傳遞**orderName**
和lastDate
。
orderDate=SYSDATE - 2 --> 我將發送 lastDate 而不是“2”。
這是正確的嗎? SYSDATE oracle 函數和“2”之前的常量。 現在“2”可以是用戶輸入。
如何在java中編寫查詢
String query = "Select * from Orders where ordername = ? and orderDate > SYSDATE - ? ";
以上查詢是否正確? 如何編寫查詢
public class CheckOrders extends MappingSqlQuery<Object>{
public PendingOrderExists() {
super(dataSource, queryConfig
.getProperty("query"));
super.declareParameter(new SqlParameter("ORDERNAME", Types.VARCHAR));
//orderdate ? how to declare parameter here
compile();
}
}
對於 sysdate-? 這 ? 參數將被設置為 java.sql.Date 類的對象,而不是 java.util.Date 類。 java.sql.Date 繼承了 java.util.Date。 java.sql.Date(long time) 這里的 long 是自 1979 年 1 月 1 日以來經過的毫秒數。
GregorianCalendar gc=new GregorianCalendar(2000, 25, 2);
java.util.Date dt=gc.getTime();
long lg=dt.getTime();
java.sql.Date sqldt=new java.sql.Date(lg);
'
在 Preparedstatement 實例的 setDate() 方法中傳遞 sqldt 對象。
希望這有效
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.