1、确定一年内的天数

select add_months(trunc(sysdate,‘y’),12)-trunc(sysdate,‘y’) from dual;

trunc转MySQL函数_数据类型

2、add_months(time,months)函数可以得到某一时间之前或之后n个月的时间

trunc转MySQL函数_oracle_02

3、TRUNC(NUMBER)表示截断数字,TRUNC(date)表示截断日期

截断数字:

格式:TRUNC(n1,n2),n1表示被截断的数字,n2表示要截断到那一位。n2可以是负数,表示截断小数点前。注意,TRUNC截断不是四舍五入,round是四舍五入。

截断日期:

trunc转MySQL函数_trunc_03

4、
CHAR
最多可以以固定长度的格式存储 2000 个字符或字节。默认指定为以字符形式进行存储,这个数据类型是固定长度的,并且当位数不够时,需要在其右边添加空格来补满。

VARCHAR 和 VARCHAR2
最多可以以可变长度来存储 4000B,因此不需要空格来作补充。VARCHAR2 比 VARCHAR 更适合使用,由于兼容性的原因,所以仍然在 Oracle 数据库中保留着 VARCHAR 。

NCHAR
NLS(national language support ,国际语言支持)的数据类型仅可以存储由数据库 NLS 字符集定义的 Unicode 字符集。该数据类型最多可以存储 2000B。NCHAR 的列在位数不够时需要在右边填充空格。

NVARCHAR2
NLS 的数据类型与 VARCHAR2 数据类型等价。这个数据类型最多可存储 4000B

NUMBER
用于存储零、正数、定长负数以及浮点数。NUMBER 数据类型可以以 NUMBER(P,S)的形式来定义数字的精度和范围。 这里:p 表示精度 (1-38),它表示存储在列中数字的总长度是 p 位: s 表示范围,它表示小数点后的位数。该取值范围可以从-84 到 127 。

LONG 类型的列存储可变长度的字符串,最多可以存储 2GB 的数据。LONG 类型的列有很多在 VARCHAR2 类型列中所具有的特征。可以使用 LONG 类型的列来存储 LONG 类型的文本字符串。LONG 数据类型的使用是为了向前兼容的需要。建议使用 LOB 数据类型来代替 LONG 类型。

DATE
用于在数据库中存储日期和时间。存储时间的精度可以达到 1/100s。不提供时区的相关信息。

TIMESTAMP
使用年、月、日、小时、分钟、秒域来对日期/时间提供更详细的支持。最多可以使用 9 位数字的精度来存储秒(受底层操作系统支持的限制)。这个数据类型没有时区的相关信息,它可以在 Oracle9i 数据库及其更
新的版本中使用。

TIMESTAMP WITH TIME ZONE
包含 TIMESTAMP 数据类型中的所有域,除此之外,还包含两个额外的域:timezone_hour 和 timezone_minute。这个数据类型包含支持时区的相关信息。这个数据类型可以在 Oracle9i 数据库及其更新的版本中使用。

TIMESTAMP WITH LOCAL TIME ZONE
除了在数据库中存储的时区采用标准化以外,所包含的其他域与 TIMESTAMP 数据类型中的域相同。当选择列时,将日期/时间标准为会话的时区。这个数据类型可以在Oracle9i 数据库及其更新的版本中使用。

INTERVAL YEAR TO MONTH
用于存储一个时间段,由月份和年组成。需要 5B 来存储。这个数据类型可以在 Oracle9i 数据库及其更新的版本中使用。

INTERVAL DAY TO SECOND
用于存储一个时间段,由日和秒组成。需要 11B 来存储。这个数据类型可以在 Oracle9i 数据库及其更新的版本中使用。

RAW
用于存储 raw 类型的二进制数据。最多可以存储 2000B。建议使用 BLOB 来代替它。

LONG RAW
用于存储 raw 类型的二进制数据。最多可以存储 2GB 的数据。建议使用 BLOB 来代替它。

ROWID
表中 ROWID 类型的字符串表示。使用这个数据类型来存储由 ROWID 类型伪列的返回值。

UROWID
在索引组织表中表示逻辑行地址。

CLOB
用于存储基于字符的大对象。在 Oracle9i 数据库中最多可以存储 4GB 的数据,这比 Oracle10g 数据库中可存储的最大数据还要大,这也是现在数据库规定块大小的一个因素(~4GB* 数据块大小)。

NCLOB
可以使用由数据库国际字符集所定义的字符集来存储仅为 Unicode 类型的基于字符的数据。最多可以存储4GB 的数据,这比 Oracle10g 数据库中可存储的最大数据还要大,这也是现在数据库规定块大小的一个因素(~4GB* 数据块大小)。

BLOB
最多可以存储 4GB 数据的二进制大对象,这比 Oracle10g 数据库中可存储的最大数据还要大,这也是现在数据库规定块大小的一个因素(~4GB* 数据库块大小)。

BFILE
存储指向数据库外部文件的定位符。外部文件最大为 4GB。

BINARY_FLOAT
该数据类型是一个基于 ANSI_IEEE745 标准的浮点数据类型。它定义了一个 32 位的双精度浮点数。这个数据类型需要 5B 的存储空间。

BINARY_DOUBLE
该数据类型是一个基于 ANSI_IEEE745 标准的双精度浮点数据类型,它定义了一个 32 位的双精度浮点数。这个数据类型需要 9B 节的存储空间。