Java是否具有Oracle功能的类似物MONTHS_BETWEEN
?
您可以使用:
public static int monthsBetween(Date minuend, Date subtrahend){
Calendar cal = Calendar.getInstance();
cal.setTime(minuend);
int minuendMonth = cal.get(Calendar.MONTH);
int minuendYear = cal.get(Calendar.YEAR);
cal.setTime(subtrahend);
int subtrahendMonth = cal.get(Calendar.MONTH);
int subtrahendYear = cal.get(Calendar.YEAR);
return ((minuendYear - subtrahendYear) * (cal.getMaximum(Calendar.MONTH)+1)) +
(minuendMonth - subtrahendMonth);
}
根据此文档
MONTHS_BETWEEN返回小数结果,我认为此方法可以执行相同的操作:
public static void main(String[] args) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Date d = sdf.parse("02/02/1995");
Date d2 = sdf.parse("01/01/1995");
System.out.println(monthsBetween(d, d2));
}
public static double monthsBetween(Date baseDate, Date dateToSubstract){
Calendar cal = Calendar.getInstance();
cal.setTime(baseDate);
int baseDayOfYear = cal.get(Calendar.DAY_OF_YEAR);
int baseMonth = cal.get(Calendar.MONTH);
int baseYear = cal.get(Calendar.YEAR);
cal.setTime(dateToSubstract);
int subDayOfYear = cal.get(Calendar.DAY_OF_YEAR);
int subMonth = cal.get(Calendar.MONTH);
int subYear = cal.get(Calendar.YEAR);
//int fullMonth = ((baseYear - subYear) * (cal.getMaximum(Calendar.MONTH)+1)) +
//(baseMonth - subMonth);
//System.out.println(fullMonth);
return ((baseYear - subYear) * (cal.getMaximum(Calendar.MONTH)+1)) +
(baseDayOfYear-subDayOfYear)/31.0;
}
问题内容: 询问: 上面查询的输出是: 有人可以向我解释一下此查询如何给出此输出以及有关interval函数的解释吗? 问题答案: 不是函数,而是引入间隔 文字 的关键字,它表示 数据类型 。类似于文字或正在做的事情。 有关间隔 文字的 详细信息 http://docs.oracle.com/cd/E11882_01/server.112/e41084/sql_elements003.htm#SQ
问题内容: 我遇到了使用ojdbc14.jar从Java 1.6调用Oracle FUNCTION(不是存储过程)的问题。 我从远程服务器调用该函数时不知道该函数包含的内容,我所知道的是: 我需要使用的架构是:FCRLIVE.AP_CH_GET_ACCT_BALANCES 我正在尝试: 但是我一直在日志文件中看到这一点: 我称这个功能错了吗?或者这可能是什么? 在此先感谢您的帮助! 问题答案: 它
问题内容: 我想比较两列中的两个日期并得到最大值,然后再与日期值进行比较。这两列也可以容纳NULL值,例如我想要下面的OUTPUT。如何使用最大的函数或是否有任何东西else。我再次使用输出与另一个日期进行比较。 问题答案: 在您的选择中使用Oracle结构:
本文向大家介绍Oracle 中 table 函数的应用浅析,包括了Oracle 中 table 函数的应用浅析的使用技巧和注意事项,需要的朋友参考一下 表函数可接受查询语句或游标作为输入参数,并可输出多行数据。该函数可以平行执行,并可持续输出数据流,被称作管道式输出。应用表函数可将数据转换分阶段处理,并省去中间结果的存储和缓冲表。 1. 用游标传递数据 利用游标 REF CURSOR 可将数据集(
我使用下面的Java代码使用Math.random函数生成随机数
我有一个函数,它有时必须返回< code>Date,有时必须返回< code>DateTime (Joda-Time)。 这是正确的方法吗?< br >如何使用? 像这样(timerHelper是类的名字): 或 如何使用这个函数呢?