易截截图软件、单文件、免安装、纯绿色、仅160KB

Oracle中的Number和Float类型

Number类型
Oracle number datatype 语法:NUMBER[(precision [, scale])]
有效为:从左边第一个不为0的数算起的位数。
scale > 0
   精确到小数点右边s位,并四舍五入。然后检验有效位是否 <= p。
scale < 0
   精确到小数点左边s位,并四舍五入。然后检验有效位是否 <= p + |s|。
scale = 0
    NUMBER表示整数
Float类型
【copy】今天有人问我,他把字段类型设计成float(2)后,插入数据93.5,后,为什么变成了90?
为了说明这个问题,我们先来看一段话(http://www.cnoug.org/viewthread.php?tid=56643):Oracle Online Help 说:FLOAT(b) specifies a floating-point number with binary precision b. The precision b can range from 1 to 126. To convert from binary to decimal precision, multiply b by 0.30103。
根据这段话,我们可以看到,float(2)中的2是一个binary precision,而不是我们常用的decimal precision。他们之间的换算关系是:binary precision=int(b*0.30103),因此我们这里实际上的精度应该等于int(2*0.30103)=0,即小数点后精度为0。
回到我们原来的问题,93.5化成浮点型9.35*10^1,这时9.35小数点后精度为0,成9,因此最后变成9*10^1=90。
类似的,我们可以设计成float(10),那么int(10*0.30103)=3,因此,如果插入93.5,就得出9.35--精度为3-->9.350,9.350*10^1=93.5。如果插入13884.2,得出1.38842--精度为3-->1.388,1.388*10^4=13880。


相关文档:

oracle分区表总结

在ORACLE里如果遇到特别大的表,可以使用分区的表来改变其应用程序的性能。

1.1 分区表PARTITION table
在ORACLE里如果遇到特别大的表,可以使用分区的表来改变其应用程序的性能。
1.1.1 分区表的建立:
某公司的每年产生巨大的销售记录,DBA向公司建议每季度的数据放在一个分区内,以下示范的是该公司1999年的数据( ......

一个Oracle自定义聚集函数的例子

前天有人提了需求,想对某个字段进行按位的或操作。本来建议查询出来之后在应用程序里面处理,但是数据量比较大,觉得还是返回一个分组计算之后的值比较合适。
两个问题,一个是按为或的操作,这个参考了别人的文档,用bitand函数实现。 原文如下:
http://blog.chinahr.com/blog/hewy0526/post/112968
然后就是自定义的 ......

Oracle Exception

BEGIN
  SELECT ...
  SELECT ...
  SELECT ...
  ...
  EXCEPTION
  WHEN NO_DATA_FOUND THEN -- catches all ’no data found’ errors
  
  2、异常的分类
  
  有两种类型的异常,一种为内部异常,一种为用户自定义异常,内部异常是执行期间返回到PL/SQL块的ORACLE错误或由PL/ ......

ORACLE control file

以前转载过一篇关于备份和恢复controlfile的文章,地址如下
http://blog.csdn.net/wh62592855/archive/2009/11/20/4844506.aspx
控制文件的主要内容
今天突然在想,controlfile里到底包含了哪些信息,查询了几个相关的数据字典视图,网上搜了搜,现在小总结一下
数据库的名字。该名取自初始化参数说明的数据库名字或CRE ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号