繁体   English   中英

如何将日期对象的长值转换为日期

[英]How to convert long value of date object to date

我有已由java longdate对象转换的date对象的long值,现在我想在SQL查询中使用该long值与date进行比较。

我想将long值转换为SQL日期对象,因为我想通过日期过滤器获取数据

我试过像

"select DATEADD(SECOND, 1376773200000/1000 ,'1970/1/1')"

但它行不通。

这个怎么做?

我建议您改用参数化SQL,这将允许您将值指定为java.sql.Date 例如:

String sql = "SELECT * FROM Foo WHERE CreatedDate > ?";
PreparedStatement st = conn.prepareStatement(sql);
st.setDate(1, new java.sql.Date(timestampValue));

(或使用java.sql.Timestamp它取决于字段的确切类型。)

一个不错的帖子是如何添加小时,分钟,秒到dateadd sql?

在oracle中,您可以这样做:

declare
 vdate      date;
 vseconds number;
begin
  vseconds := 5;
  vdate      := to_date('2.1.2010 05:00','dd.mm.yyyy hh24:mi');
  vdate := vdate + vseconds/24/60/60;
end;

等价于select to_date('2.1.2010 05:00','dd.mm.yyyy hh24:mi') + 5/24/60/60 from dual;select to_date('2.1.2010 05:00','dd.mm.yyyy hh24:mi') + 5/24/60/60 from dual;

在此处http://www.codeproject.com/Articles/566542/Date-and-Time-Data-Types-and-Functions-SQL-Server#27找到另一个示例:

SELECT DATEADD(second, 1, @date) AS 'Second' ; @date is a variable.

转换长日期:

如果长日期为1220227200L,则日期为

Date d = new Date(1220227200L * 1000);

产量

Sun Aug 31 20:00:00 GMT-04:00 2008

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM