感于总有些网友提出一些非常基础的问题,比如有没有实现某某功能的函数啊,
某某函数是做什么用的啊,格式是什么等等,同时也感受到自己?/p>
oracle
函数
认识的不足,于是集中月余时间专注?/p>
oracle
函数,小有心得不敢私藏,发之
与诸公共享?/p>
本文并不准备介绍全部?/p>
oracle
函数,当前情势下,俺也还没这个时间,需
要学习的东西太多了,要把多数时间花在学习经常能用上的技术方?/p>
:)
,所以如
果是准备深入了解所?/p>
oracle
函数的朋友,还是去关注:
Oracle SQL Reference
官方文档更靠谱一些?/p>
本文更多将会介绍三思在日常中经常会用到的,
或者虽然很少用到,
但是?/p>
觉挺有意思的一些函数。分二类介绍,分别是?/p>
著名函数?/p>
-经常用到的函数
非著名函数篇-即虽然很少用到,但某些情况下却很实?/p>
注:
N
表示数字型,
C
表示字符型,
D
表示日期型,
[]
表示内中参数可被?/p>
略,
fmt
表示格式?/p>
单值函数在查询中返回单个值,可被应用?/p>
select
?/p>
where
子句?/p>
start with
以及
connect by
子句?/p>
having
子句?/p>
(
一
).
数值型函数
(Number Functions)
数值型函数输入数字型参数并返回数值型的值。多数该类函数的返回值支?/p>
38
位小数点,诸如:
COS, COSH, EXP, LN, LOG, SIN, SINH, SQRT, TAN, and
TANH
支持
36
位小数点?/p>
ACOS, ASIN, ATAN, and ATAN2
支持
30
位小数点?/p>
1
?/p>
MOD(n1,n2)
返回
n1
?/p>
n2
的余数,如果
n2=0
则返?/p>
n1
的值?/p>
例如?/p>
SELECT MOD(24,5) FROM DUAL;
2
?/p>
ROUND(n1[,n2])
返回四舍五入小数点右?/p>
n2
位后
n1
的值,
n2
缺省值为
0
?/p>
如果
n2
为负数就舍入到小数点左边相应的位?/p>
(
虽然
oracle documents
上提?/p>
n2
的值必须为整数,事实上执行时此处的判断并不严谨,即?/p>
n2
为非整数,它
也会自动?/p>
n2
取整后做处理,但是我文档中其它提到必须为整的地方需要特?/p>
注意,如果不为整执行时会报错?/p>
)
?/p>
例如?/p>
SELECT ROUND(23.56),ROUND(23.56,1),ROUND(23.56,-1) FROM DUAL;
3
?/p>
TRUNC(n1[,n2]
返回截尾?/p>
n2
位小数的
n1
的值,
n2
缺省设置?/p>
0
,当
n2
为缺省设置时会将
n1
截尾为整数,如果
n2
为负值,就截尾在小数点左边相?/p>
的位上?/p>
例如?/p>
SELECT TRUNC(23.56),TRUNC(23.56,1),TRUNC(23.56,-1) FROM DUAL;
(
?/p>
).
字符型函数返回字符?/p>
(Character Functions Returning Character Values)
该类函数返回与输入类型相同的类型?/p>
返回?/p>
CHAR
类型值长度不超过
2000
字节?/p>
?/p>