①数字型函数
1.ROUND (列名|表达式,n):该函数将列名或表达式所表示的数值四舍五入到小数点后的 n 位。
2.TRUNC (列名|表达式,n):该函数将列名或表达式所表示的数值截取到小数点后的 n 位。
3.MOD (m,n):该函数将 m 除以 n 并取余数。
②日期型数据的处理
Oracle9i日期型数据输入和输出的默认格式为DD-MON-RR,之前的版本为DD-MON-YY。
要获取系统时间:
SELECT SYSDATE
FROM dual;
也可以将时间和数字相加减。
SELECT SYSDATE-1
FROM dual;
这是系统时间的前一天。所以,日期型和数字相加减后结果还是日期型。若我将两个日期相加减,则结果是数字型。
③日期函数
1.MONTHS_BETWEEN
(日期1,日期2):该函数是返回日期
1 和日期 2 之间的月数。
2.ADD_MONTHS
(日期,n):该函数是把
n 个月加到日期上。
3.NEXT_DAY (日期,字符串):该函数是返回下一个由字符串(星期几) 指定的日期。
4.LAST_DAY
(日期):该函数是返回该日期所在月的最后一天。
④ROUND和TRUNC函数用于日期型数据
例子:
SELECT ROUND(TO_DATE('29-OCT-13'),'MONTH')
FROM dual;
结果是:01-NOV-13
意思就是2013年10月29日的下一个月是多少,因为操作单位是‘MONTH’,又因为29日是下半月,所以,四舍五入后的结果是2013年11月1日。
还有,ROUND参数不能为字符串。
下面看一下TRUNC函数在日期中的用法。
SELECT
TRUNC(TO_DATE('29-OCT-13'),'MONTH')
FROM dual;
结果是:01-OCT-13
和预期一样。当然我们还可以把操作的单位设为年或日等等。
⑤不同数据类型之间的隐含转换
不多说,和其它语言一样,从低精度到高精度能隐含转换。
⑥不同数据类型之间的显式转换
有3个函数来完成显示转换。
1.TO_CHAR
(日期,‘fmt’):该函数的这种格式把日期型数据转换成变长字符串,其中, fmt 为日期模式。
2.TO_CHAR (数字,‘fmt’):该函数的这种格式把数字型数据转换成变长字符串。 其中,
fmt 为数字模式。
3.TO_NUMBER(字符串,[,‘fmt]’):该函数把字符串转换成数字。
4.TO_DATE(字符串,[,‘fmt]’):该函数把字符串转换成日期型数据。