ITPub博客

首页 > 数据库 > Oracle > 从实践中学习Oracle----4.5~4.10数字型函数~不同数据类型之间的显式转换

从实践中学习Oracle----4.5~4.10数字型函数~不同数据类型之间的显式转换

Oracle 作者:Lostinit 时间:2013-01-30 16:02:05 0 删除 编辑
①数字型函数 
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]’):该函数把字符串转换成日期型数据。

<!-- 正文结束 -->

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23574802/viewspace-1115849/,如需转载,请注明出处,否则将追究法律责任。

上一篇: it‘s my new blog
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2010-03-23

最新文章