随笔 - 72  文章 - 28  trackbacks - 0
<2024年5月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

常用链接

留言簿(4)

随笔分类(66)

随笔档案(72)

文章档案(19)

收藏夹

搜索

  •  

最新评论

阅读排行榜

评论排行榜

 

一、  语法:NUMTOYMINTERVAL ( n , 'char_expr' )
              char_expr:日期描述,可以是YEAR和MONTH;

  作用:可以将数字转换成相应的日期单位时间

  比如:NUMTOYMINTERVAL ( 1, 'MONTH' ) 表示一个月,注意:此时跟add_months有点区别,后续有例子会讲到。
              NUMTOYMINTERVAL ( 1, 'YEAR' ) 表示一年

 

对于day、hour、minute、second使用的是numtodsinterval函数,方法和numtoyminterval一样。后面可以跟变量

二、interval后面只能用数字

 

下面是举例:

SQL> select add_months (to_date('20110228','yyyymmdd'),1) from dual;

ADD_MONTH
---------
31-MAR-11 

SQL> 
SQL> select add_months(to_date('20110228','yyyymmdd'),-1) from  dual;

ADD_MONTH
---------
31-JAN-11

SQL> 
SQL> 
SQL> select to_date('2007-02-28','yyyy-mm-dd')+numtoyminterval (1,'month') from dual;

TO_DATE('
---------
28-MAR-07 

SQL> select to_date('2007-02-28','yyyy-mm-dd')-numtoyminterval (1,'month') from dual;

TO_DATE('
---------
28-JAN-07


此时,注意跟add_months返回结果的区别。

 

SQL> select to_date('2007-02-28','yyyy-mm-dd')+numtodsinterval(1,'day') from dual;

TO_DATE('
---------
01-MAR-07


SQL> 
SQL> select to_date('2007-02-28','yyyy-mm-dd')+interval '+3' hour from dual;

TO_DATE('
---------
28-FEB-07


SQL> select to_date('2007-02-28','yyyy-mm-dd')+interval '+1' month from dual;

TO_DATE('
---------
28-MAR-07

posted @ 2013-11-22 10:39 kelly 阅读(619) | 评论 (0)编辑 收藏
Double类型不能直接进行比较大小。
非整型数,运算由于精度问题,可能会有误差,建议使用BigDecimal类型,具体BigDecimal的详细说明参考jdk开发帮助文档。


public class Test {
 public static String compare(BigDecimal val1, BigDecimal val2) {
  String result = "";
  if (val1.compareTo(val2) < 0) {
   result = "第二位数大!";
   }
  if (val1.compareTo(val2) == 0) {
   result = "两位数一样大!";
   }
  if (val1.compareTo(val2) > 0) {
   result = "第一位数大!";
   }
  return result;
  }
 
 public static void main(String[] args) {
  String a = "200.5"; String b = "1000";
  BigDecimal data1 = new BigDecimal(a);
  BigDecimal data2 = new BigDecimal(b);
  System.out.print(compare(data1, data2));
  }
}
posted @ 2013-11-07 15:42 kelly 阅读(987) | 评论 (0)编辑 收藏
经常处理金额,对于输入需要做验证处理,下面给出正则表达式和解释:
javascritpt的应用:

var patrn=/^(-)?(([1-9]{1}\d*)|([0]{1}))(\.(\d){1,2})?$/;
if (!patrn.exec('-012312123.23')) {
alert('false');
}else{
alert('true');
}

解读/^(-)?(([1-9]{1}\d*)|([0]{1}))(\.(\d){1,2})?$/
^表示以什么开头 我们这里是 - ,后面的?是表示“-”出现一次或者零次
(([1-9]{1}\d*)|([0]{1})) 表示不以0开头的数字组合或者仅出现一个0
(\.(\d){1,2})?表示小数点后两位,出现0次或者一次

必须是大于0的金额正则表达式:
var patrn=/^(([1-9]{1}\d*)|([0]{1}))(\.(\d){1,2})?$/;

Java里的应用:
Pattern pattern = Pattern.compile("^(-)?(([1-9]{1}\\d*)|([0]{1}))(\\.(\\d){1,2})?$");
Matcher matcher = pattern.matcher("-0.11");
System.out.println(matcher.matches());
posted @ 2013-11-07 13:31 kelly 阅读(2633) | 评论 (0)编辑 收藏
今天使用Oracle遇到了这个问题ora-01033:oracle initialization or shutdown in progress,经过分析研究终于解决了,记下来.
我遇到的错误是ORA-00600: 内部错误代码,参数: [kcratr1_lostwrt]

分析过程:

运行中输入cmd,、输入sqlplus /nolog,然后用 用sys登陆。

Microsoft Windows [版本 5.2.3790]
(C) 版权所有 1985-2003 Microsoft Corp.

E:\Documents and Settings\Administrator>sqlplus /nolog

SQL*Plus: Release 9.2.0.1.0 - Production on 星期一 4月 8 14:20:05 2

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
SQL> connect sys/sys as sysdba;
已连接。
SQL> shutdown normal
ORA-01109: 数据库未打开


已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount
ORACLE 例程已经启动。

Total System Global Area  135338868 bytes
Fixed Size                   453492 bytes
Variable Size             109051904 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
数据库装载完毕。

SQL> alter database open;
出现以下错误:
ORA-00600: 内部错误代码,参数: [kcratr1_lostwrt]

出现该错误是因为系统强制关机造成的!
症状为数据库无法打开!

解决这个错误:
SQL> shutdown normal
ORA-01109: 数据库未打开


已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount
ORACLE 例程已经启动。

Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。

SQL>recover database;
完成介质恢复
SQL> alter database open;

数据库已更改
SQL>exit;




 




 

posted @ 2013-04-08 14:53 kelly 阅读(636) | 评论 (0)编辑 收藏

最近每次启动MyEclipse的时候,都不能自动加载我自己的workspace

通常都要通过File-Switch Workspace来选择一遍才行。

检查了一下问题,发现配置文件X:/MyEclipse6.5/eclipse/configuration/config.ini文件中的osgi.instance.area.default属性被修改为@user.home/workbench

osgi.instance.area.default=@user.home/workbench

等号后面修改为自己的工作空间地址就可以了osgi.instance.area.default=D\:\\Workspaces

posted @ 2013-02-20 14:26 kelly 阅读(523) | 评论 (0)编辑 收藏
仅列出标题
共15页: First 上一页 2 3 4 5 6 7 8 9 10 下一页 Last