oracle表中字段类型选择

在熟系公司Oracle数据库时碰到了

1.

去查了下网上已经有很好的解释

NVARCHAR2在计算长度时和字符集相关的,例如数据库是中文字符集时以长度10为例,则

1、NVARCHAR2(10)是可以存进去10个汉字的,如果用来存英文也只能存10个字符。

2、而VARCHAR2(10)的话,则只能存进5个汉字,英文则可以存10个。 

VARCHAR2可变长度字符域,最大长度可达4000个字符
NVARCHAR2多字节字符集的可变长度字符域,长度随字符集而定,最多为4000个字符或4000个字节;

2.

NUMBER [ (p [, s]) ] 是ORACLE自身的数据类型。 

NUMBER数据类型可以有两个限定符,如:column NUMBER(precision,scale)。precision表示数字中的有效位。如果没有指定precision的话,Oracle将使用38 作为精度。scale表示小数点右边的位数,scale默认设置为0。如果把scale设成负数,Oracle将把该数字取舍到小数点左边的指定位数。

INTEGER或者INT、SMALLINT 则是 ANSI SQL 的数据类型,它对应的ORALCE数据类型是NUMBER(38)

integer只是plsql内部使用变量的类型

下面是具体例子用法:

123.2564 NUMBER 123.2564
1234.9876 NUMBER(6,2) 1234.99
12345.12345 NUMBER(6,2) Error
1234.9876 NUMBER(6) 1235
12345.345 NUMBER(5,-2) 12300
1234567 NUMBER(5,-2) 1234600
12345678 NUMBER(5,-2) Error
123456789 NUMBER(5,-4) 123460000
1234567890 NUMBER(5,-4) Error
12345.58 NUMBER(*, 1) 12345.6
0.1 NUMBER(4,5) Error
0.01234567 NUMBER(4,5) 0.01235
0.09999 NUMBER(4,5) 0.09999

3.

DATE 它可以存储月,年,日,世纪,时,分和秒,当你进行两个日期的相减运算的时候,得到的是天数

TIMESTAMP 它包括了所有DATE数据类型的年月日时分秒的信息,而且包括了小数秒的信息。如果你想把DATE类型转换成           TIMESTAMP类型,就使用CAST函数。可以精确到小数秒(fractional_seconds_precision),可以是0 to9,缺省是6

 为了得到系统时间,返回成date数据类型。你可以使用sysdate函数。

1 SQL> SELECT SYSDATE FROM DUAL;

     为了得到系统时间,返回成timestamp数据类型。你可以使用systimpstamp函数。

1 SQL> SELECT SYSTIMESTAMP FROM DUAL;
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值