1、java获取char类型字段最大值
问题描述:
数据库中code字段类型是char(20),在用java获取code的最大值时,发现了一个问题。查询语句的max(code)虽然能够返回最大值,但是需要类型转换。当使用(String)强制类型转换时,程序会报错;当使用toString()转换时,获取的值始终是“0”。
解决方法:
使用Select max(rtrim(code)) from Instrument 去除尾随的空格,然后取最大值,再用toString()进行转换。
2、JavaScript字符串比较
stringObject.localeCompare(target)
参数 | 描述 |
target | 要以本地特定的顺序与 stringObject 进行比较的字符串。 |
返回值
说明比较结果的数字。如果 stringObject 小于 target,则 localeCompare() 返回小于 0 的数。如果 stringObject 大于 target,则该方法返回大于 0 的数。如果两个字符串相等,或根据本地排序规则没有区别,该方法返回 0。
3、根据日期循环输出
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf_YM = new SimpleDateFormat("yyyy-MM");
SimpleDateFormat sdf_YMD = new SimpleDateFormat("yyyy-MM-dd");
//month是获取到的一个标量。村反一个String类型的字符串。
//设置日期为当月的第一天
cal.setTime(sdf_YM.parse(month + "-01"));
//当月第一天减1,获取上月的最后一天
cal.add(Calendar.DAY_OF_MONTH,-1);
//获取记录的开始日期,上月的25日
String startDay = sdf_YM.format(cal.getTime()) + "-25";
//获取记录的结束日期,当月的24日
String endDay = month + "-24";
//设置日期为记录开始日期
cal.setTime(sdf_YMD.parse(startDay));
//存放循环时,更新后的日期
String day = startDay;
//如果更新后的日期大于记录的结束日期,则跳出循环
while(endDay.compareTo(day) >=0){
//当前日期加1,获取下一次日期
cal.add(Calendar.DAY_OF_MONTH,1);
//按照XXXX-XX-XX格式进行转换
day = sdf_YMD.format(cal.getTime());
}